如何为PFObject子类自动初始化可变数组/字典? (Parse.com框架) [英] How can I automatically initialize mutable arrays/ dictionaries for my PFObject subclass? (Parse.com framework)

查看:61
本文介绍了如何为PFObject子类自动初始化可变数组/字典? (Parse.com框架)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在应用的各个部分中都有以下代码:

I have the following code in various parts of my app:

MyPFObjectSubclass *instance = [MyPFObjectSubclass object];
instance.myMutableArray = [NSMutableArray array];
instance.myMutableDictionary = [NSMutableDictionary array];

我总是 忘记初始化这些类型,后来在尝试setValue:forKeyaddObject方法时遇到问题.

I am constantly forgetting to initialize these types, and running into problems later when I attempt setValue:forKey or addObject methods.

我承认这是一个不错的选择,但我想放心,如果可能的话,请将这些初始化放入+object中.

It's a nice-to-have, I admit, but I would like to play it safe and roll these initializations into +object if possible.

推荐答案

我的PFObject子类都大致像这样.我叫[MyPFObject tlObject]创建一个新实例.

My PFObject subclasses all look roughly like this. I call [MyPFObject tlObject] to create a new instance.

@implementation MyPFObject 

@dynamic objectUUID;
// Other fields
+ (MyPFObject*) tlObject
{
    MyPFObject* obj = [self object];
    [obj tlObjectInit];
    // Other initializations
    return obj;
}

+ (NSString*) parseClassName
{
    return @"MyPFObject";
}

+ (PFQuery*) query
{
    PFQuery* query = [PFQuery queryWithClassName: [self parseClassName]];
    // Add includeKeys here
    return query;
}

@end

我在PFObject上有一个类别,其中包括tlObjectInit.字段objectUUID在那里,因此我有一个可以在保存之前唯一标识对象的值.这是必要的,因为有时我会创建相互引用的对象集.在保存之前,不会设置Parse objectID.

I have a category on PFObject that includes tlObjectInit. The field objectUUID is there so that I have a value that can uniquely identify the object BEFORE IT IS SAVED. This is necessary because I sometimes create sets of objects that refer to one another. The Parse objectID is not set until it is saved.

@implementation PFObject (TL)
- (void) tlObjectInit
{
    NSString* format = [[self parseClassName] stringByAppendingString: @"-%@"];
    [self setObject: [NSUUID uuidStringInFormat: format]
             forKey: @"objectUUID"];
}
// Add other initializations here
@end

这篇关于如何为PFObject子类自动初始化可变数组/字典? (Parse.com框架)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆