2015-04-08 6 views
2

Я ищу, чтобы проверить, если NSMutableArray содержит NSMutableDictionary, я знаю, что мы можем проверить NSDictionary сКак проверить, если NSMutableArray Содержит NSMutableDictionary

[array indexOfObjectIdenticalTo:dict]; 

Но не может работать, как проверить NSMutableDictionary. Любой намек был бы замечательным.

Спасибо.

ответ

2

Это должно работать: [array containsObject: dict];

EDIT:

Чтобы получить индекс вы можете использовать:

NSUInteger index = [array indexOfObject: dict]; 
+0

Спасибо LoVo за ваш ответ. Это трюк, но я хочу получить конкретный индекс этого NSMutableDictionary, как это можно сделать? –

+0

Большое спасибо, LoVo, Ты спас мой день :) (y) –

+0

Добро пожаловать;) – LoVo

1

Вы можете проверить объекты в массиве с типом класса.

for (id object in mutableArray) { 
    if ([object isKindOfClass:[NSMutableDictionary class]]) { 
     // Mutable dictionary object 
     NSInteger iIndex = [mutableArray indexOfObject:object]; 
    } 
    else if ([object isKindOfClass:[NSDictionary class]]) { 
     // Non-mutable dictionary object 
     NSInteger iIndex = [mutableArray indexOfObject:object]; 
    } 
    } 
0

isKindOfClass также может быть полезен здесь. вы можете проверить заданный индекс этого путь

if ([[myArray objectAtIndex:myIndex] isKindOfClass:[NSDictionary class]]) 

NSDictionary а в этом может быть заменен любым Data Type, что вы хотите сравнить с, например, NSArrayNSString и других. Надеюсь, это поможет вам различать типы данных.

Смежные вопросы