このような質問があった場合は申し訳ありませんが、ブール値を理解していると思っていたので、混乱しています。コマンドラインの obj-c プログラムでは、BigNerdRanch の本によると、main 関数はブール値で false を意味する 0 を返し、それが true または 1 を返す場合はエラーが発生したことを意味するため、これは良いことです。
したがって、この本の後半にあるこのコードは、私を混乱させます。
-(BOOL)readFromData (NSData *)data ofType:(NSString *)typeName error(NSError **)outError
todoItems = [NSPropertyListSerialization propertyListWithData: data
options:NSPropertyListMutableContainers
format:NULL
error:outError
return (todoItems != nil);
このコードは基本的に、todoItems にデータが読み込まれるため、ポインターが nil に設定されないため、true と評価され、メソッドの BOOL 値として true が返され、エラーが発生したことを意味します。私はこれにとても混乱しています。