私はカテゴリに取り組んでおり、NSArray
実装した関数の 1 つは、配列内の文字列の数 (または数値ではない) を返すように設計されています。これはすべて正常に機能しますが、私の質問はNSNotFound
、入力配列のカウントがゼロの場合の戻り値としての使用についてです。
Apple のドキュメントの状態:
NSNotFound は通常、シリアル データ内のアイテムを検索し、文字列オブジェクト内の文字や NSArray オブジェクト内の ID などのインデックスを返すさまざまなメソッドや関数で使用されます。
indexOfObject:
これは、配列に含まれていないアイテムに使用する場合、完全に理にかなっています。しかし、NSNotFound
正しい使用法の下に示されているコンテキストで使用していますか? 確かに、ゼロを返して 1 日と呼ぶこともできます2147483647
が、問題がどこにあるかを確認してすぐに知ることは役に立ちます。
- (NSUInteger)countOfStringsInArray {
NSUInteger currentCount = 0;
if ([self count] > 0) {
for (id obj in self) {
if (![obj integerValue]) {
currentCount ++;
}
}
return currentCount;
}
return NSNotFound;
}