我有一个名为class
的{{1}}。它有Letter
(长)属性。
当我使用这个类时,我希望myId
是这样的:
myId
Letter *obj1 = [[Letter alloc] init]
Letter *obj1 = [[Letter alloc] init]
Letter *obj1 = [[Letter alloc] init]
必须为1
obj1.myId
必须为2
obj2.myId
必须为3
我试过这个:
obj3.myId
但它没有用。我怎样才能做到这一点?
答案 0 :(得分:2)
使用static
全局变量来跟踪id:
@implementation Letter
static long _id = 1;
- (instancetype) init
{
self = [super init];
if (self != nil){
_myId = _id++;
}
return self;
}
@end
(请注意,我删除了initWithId
方法,转而使用普通版init
)。