【发布时间】:2013-04-12 20:55:22
【问题描述】:
为什么下面的代码会崩溃?注释代码不会崩溃。
@property (retain) NSDate *lastCurrentDate;
...
@synthesize lastCurrentDate;
- (void)viewWillAppear:(BOOL)animated {
BOOL crash = [lastCurrentDate isEqualToDate:[NSDate date]]);
}
- (void)viewDidDisappear:(BOOL)animated {
//lastCurrentDate = [[NSDate date] retain];
lastCurrentDate = [NSDate date];
}
那么,为什么在 Objective-C 上可能无法保留属性?
【问题讨论】:
-
可以报崩溃错误吗?
-
我刚刚尝试了同样的事情,但它没有崩溃。此处显示的代码中是否缺少任何内容。如果您有任何遗漏,我将不胜感激。否则,您可以使用崩溃错误进行更新。
-
我想它崩溃是因为当您发送消息 isEqualToDate 时变量为空,因为它尚未初始化;在方法viewDidDisappear中初始化一个变量是错误的
-
Harry,它不会因为奇怪的苹果政策而崩溃:应用程序应该在开发人员的设备上运行,并且应该在用户的设备上崩溃。但前提是您不使用
NSZombie = YES设置。
标签: iphone ios objective-c properties retain