[objective-c]零在发送邮件之前检查

标签: ios Objective-C
发布时间: 2016/10/4 1:29:06
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

在 Xcode 6 中,我都有这个问题。很好,如果我用这个在 Xcode 5 或以下。

即使它有自动实例化对象 nil 和不能检查 nil

NSString *userID = [DataManager sharedInstance].currentUser.userId;

if (!userID) {
    userID = @"user";
}
[userInfo setObject:userID forKey:LogDataUserIDKey];

这就是我在做什么,我就 EXE_BAD_ACCESS(code=1, address=0x443b800c) 在最后线。 userID 作为我附截图的实例。如何检查是否 userID 是零。我迷路了。请告知。enter image description here

解决方法 1:

还行。我能够解决此问题。这是因为这里面 User 的对象是 [DataManager sharedInstance].currentUseruserId 声明为实例变量和属性。

@interface User : NSObject <NSCopying>{
NSString *userId; // instance variable
}
@property (nonatomic, retain) NSString * userId;

所以,被删除的实例变量声明和它固定的问题。

@interface User : NSObject <NSCopying>
@property (nonatomic, retain) NSString * userId;

但我不知道为什么。你们有什么想法?

赞助商