请不要这样做,但我怎么能做“id上的类别”这样的事情?我想在ID类型的对象上有一个方法,怎么做?我的情况是我从API收到了字典,我想做这样的事情:
someVariable = [dictionary[@"key"] myValue];
方法myValue应该类似于例如intValue - 它可以在id类型的对象上使用。有什么想法吗?
答案 0 :(得分:1)
您不能在id
上设置类别,因为它不是一个类。它只是一个指针类型 -
typedef struct objc_object *id;
正如其他人在评论中建议的那样,您可以在NSObject
-
@interface NSObject (myCategory)
-(MyObjectType *)myValue;
@end
但是您无法使用类别在对象上声明其他属性。
我的直觉是你有一个设计问题,可以使用适当的数据对象包装类来更好地解决。