我创建了一个具有多个NSStrings属性的类。如果我有这个类的对象,那么我怎么知道对象是否为nil(即所有NSString属性都是nil)。
我的班级看起来像这样
// MyClass.h
#import <Foundation/Foundation.h>
@interface MyClass : NSObject <NSCoding> {
NSString *string1;
NSString *string2;
}
@property (nonatomic, retain) NSString *string1;
@property (nonatomic, retain) NSString *string2;
@end
我正在检查它并且它不起作用
if (SecondViewController.myObject==nil) {
NSLog(@"the object is empty");
}
答案 0 :(得分:7)
如果我有这个类的对象,那么我怎么知道对象是否为nil(即所有NSString属性都是nil)。
对象不是nil,因为它的所有属性都是nil。但是,如果您确实想知道对象的字符串属性是否都为nil,那么这将起到作用:
-(BOOL) bothStringsAreNil
{
return [self string1] == nil && [self string2] == nil;
}
注意:我在营地里不喜欢将指针视为布尔值,即我更喜欢以上
-(BOOL) bothStringsAreNil
{
return ![self string1] && ![self string2];
}
功能相同。
答案 1 :(得分:3)
if (!obj)
// obj = nil
if (!obj.property)
// property = nil
要检查所有属性是否为零,我认为最好在类中创建一个特殊方法。