首先,我为 NSString* 编写了我的自定义设置器,如下所示:
- (void)setDateString:(NSString *)newDateString {
self.dateString = newDateString;
NSInteger dateNumber = [dateString integerValue];
// this line causes crash
// do something here..blah blah
}
然后程序由于执行 [XXX setDateString:] 的无限多线程而停止。
经过几次无用的尝试后,我发现这个问题/答案告诉我
不要使用自我。在自定义访问器内部。直接访问变量,
所以我把我的代码变成了
- (void)setDateString:(NSString *)newDateString {
//self.dateString = newDateString;
dateString = newDateString;
NSInteger dateNumber = [dateString integerValue];
// do something here..blah blah
}
然后一切都像魅力一样!
我是一些客观语言的初级开发人员,也是 Objective-C 的新手。
我想详细了解这个问题,而不是在不了解原因的情况下解决问题。
因此,请为我提供一些材料/网站以了解更多有关此内容的信息。
顺便说一句,我使用 ARC。
谢谢你们。:)