如何检查对象是否为零

nod*_*nja 5 null cocoa-touch object objective-c

我创建了一个具有多个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
Run Code Online (Sandbox Code Playgroud)

我正在检查它,它不起作用

if (SecondViewController.myObject==nil) {
 NSLog(@"the object is empty");
}
Run Code Online (Sandbox Code Playgroud)

Jer*_*myP 7

如果我有这个类的对象,那么我怎么知道对象是否为nil(即所有NSString属性都是nil).

对象不是零,只是因为它的所有属性都是零.但是,如果您确实想知道对象的两个字符串属性是否都为nil,那么这将起到作用:

-(BOOL) bothStringsAreNil
{
    return [self string1] == nil && [self string2] == nil;
}
Run Code Online (Sandbox Code Playgroud)

注意:我在营地里不喜欢将指针视为布尔值,即我更喜欢上面的指针

-(BOOL) bothStringsAreNil
{
    return ![self string1]  && ![self string2];
}
Run Code Online (Sandbox Code Playgroud)

这在功能上是相同的.