例如我上课了:
@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'属性?
答案 0 :(得分:1)
您应该覆盖description
或debugDescription
。
- (NSString *)description
{
return self.name;
}
答案 1 :(得分:0)
我找到了一种方法(不确定它是否正确): 我的自定义类是标记类MySerializable的子类。现在,如果我有一个我的对象数组,对于数组中的每个项目,我检查它是否类型为MySerializable并将数组中的该对象更改为[object getDict]。