NSMutableArrayのドキュメントによると:
removeLastObject
NSRangeException
配列にオブジェクトがない場合は を発生させます。
どういうわけか、空の配列でこのメソッドを呼び出すことができるようで、例外はスローされません。
テストケースは次のとおりです。
- (void)testNSMutableArray
{
NSMutableArray* arr = [[NSMutableArray alloc] init];
STAssertTrue([arr count] == 0, @"Array count should be 0");
STAssertThrows([arr removeLastObject], @"Should throw NSRangeException");
}
このテスト ケースは最後の行で失敗し、次のメッセージが表示されます。
[arr removeLastObject] 発生 (null)。NSRangeException をスローする必要があります
私はここで混乱していますか?ドキュメントは間違っていますか?