2013-03-01 5 views
0

Я попытался использовать isEqualToSet для сравнения двух наборов на основе определенного атрибута, как предлагается в link. Но после реализации логики я обнаружил, что она не работает, и я не знаю причины. Было бы полезно, если бы кто-то может предложить, где я собираюсь неправильно или какой-то альтернативное решение .. Это мой код:isEqualToSet не работает как ожидалось

if([[[obj ofServer] valueForKey:@"name"] isEqualToSet:[serverSet valueForKey:@"name"]]) 
{ 
    NSLog(@"handle both equal case"); 
} 
NSLog(@"db log %@ and current logs server %@ \n",[[obj ofServer] valueForKey:@"name"],[serverSet valueForKey:@"name"]); 

Выход в консоли показывает тот же набор

db log {(
    "f7.net" 
)} and current logs server {(
     (
     "f7.net" 
    ) 
)} 
+0

Оба комплект .. Единственное различие ServerSet имеет множество, образованные из mutableSet – aparna

ответ

1

Глядя на log, у вас есть 2 разных набора. Я имею в виду, что вы сравниваете

(
    "f7.net" 
) 

с

((
     "f7.net" 
    )) 

Надеется, что это помощь

+0

В основном я должен проверить журналы, которые имеют один и тот же набор серверов. Я сохранил журналы и сервер в основных данных. Оба являются отношениями один-много. проверяя, что я беру журнал из файла (как nsstring) и получаю серверы (nsarray). Поскольку я не знаю, как проверить значение свойства set с массивом строк, я вручную создал набор объектов с данными серверами. – aparna

+0

Спасибо за помощь. Я нашел ошибку .. – aparna

+0

, пожалуйста, проголосуйте за ответ, если вам поможет, большое спасибо :) – jackdev23

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