私は多くのObjCコードを見てきました:
obj = [[SomeObject alloc] init];
if (obj) {
/// ...
}
しかし、私が理解したように、()内の値はブール値であり、0はFALSEを示します1はTRUEを示します(他の言語では、0がtrueで1がfalseである別のケースがあります)。これはNULL(nil)に設定されており、これは#definedで0に定義されているので、次のようにするとよいのではないかと思います。
if (obj != nil) {
/// ...
}
objがnilであるかどうかをチェックしているので、値が何であっても、それ(または)がたまたま0として定義されていることにnil
依存していませんか?nil
NULL