有没有办法在其属性/方法之一中引用自定义类对象?

时间:2017-02-17 10:22:44

标签: objective-c

例如我上课了:

@interface CustomClass: NSObject
    @property(nonatomic, readwrite) NSString *name;
    @property(nonatomic, readwrite) NSNumber *value;
    -(NSDictionary *)getDict;
@end

@implementation CustomClass
-(NSDictionary)getDict
{
    NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithDictionary: @{}];
    if(self.name) {
        dict[@"name"] = self.name;
    }
    if(self.value) {
        dict[@"value"] = self.value;
    }
    return dict;
}
@end

然后我创建该类的实例:

CustomClass *obj = [[CustomClass alloc] init];
obj.name = @"Custom object";
obj.value = @1;

有没有办法在引用该对象时获取'name'属性或getDict方法?像

NSLog(@"%@", obj);

仅返回'name'属性?

2 个答案:

答案 0 :(得分:1)

您应该覆盖descriptiondebugDescription

- (NSString *)description
{
   return self.name;
}

答案 1 :(得分:0)

我找到了一种方法(不确定它是否正确): 我的自定义类是标记类MySerializable的子类。现在,如果我有一个我的对象数组,对于数组中的每个项目,我检查它是否类型为MySerializable并将数组中的该对象更改为[object getDict]。