我正在寫一些代碼,它將使用NSMutableArray並在其中存儲int值,包裝在NSNumbers中。iOS如何檢查NSMutableArray是否包含NSNumber對象?
我想確認,使用新NSNumbers具有相同的價值觀查詢使用iOS的NSArray或NSMutableArray裏是合法,如果我需要在陣列上明確地迭代,並檢查是否每個int值等於值I想要測試?
這似乎工作:
NSMutableArray* walkableTiles = [NSMutableArray array];
[walkableTiles addObject:@(1)];
[walkableTiles addObject:@(2)];
[walkableTiles addObject:@(3)];
if([walkableTiles containsObject:@(1)])
{
DLog(@"contains 1"); //test passes
}
if([walkableTiles containsObject:[NSNumber numberWithFloat:2.0]])
{
DLog(@"contains 2");//test passes
}
if([walkableTiles containsObject:[NSNumber numberWithInt:3]])
{
DLog(@"contains 3");//test passes
}
你是什麼意思*法律*?我很確定'containsObject:'在某個點迭代了數組。 – dandan78
你讀過containsObject的規範嗎? 「此方法通過向每個數組對象發送isEqual:消息(並將anObject作爲參數傳遞給每個isEqual:消息)來確定數組中是否存在anObject。」 –
而不是NSNumber numberWithint:您可以使用文字和使用@(3) –