Xcode путает NSMutableArray с NSMutableDictionary - PullRequest
0 голосов
/ 26 августа 2011

Я пишу приложение для iOS, которое требовало от меня использования некоторых NSMutableArray.Раньше я использовал NSMutableDictionary (под тем же именем переменной), но я закомментировал код, который имеет отношение к словарю.Теперь при использовании NSMutableArray я вызываю метод -addObject :.Тем не менее, Xcode продолжает давать мне предупреждение о том, что «NSMutableDictionary может не отвечать на -addObject:».Тем не менее, я проверил и проверил снова и снова, что определение и распределение говорят, что NSMutableArray не NSMutableDictionary.Я даже пытался закомментировать код NSMutableDictionary в моем классе, однако предупреждение сохраняется.Приложение работает нормально и может успешно выполнять методы, однако предупреждения раздражают.Я использую Snow Leopard 10.6.8, Xcode 4.0.2.Я попытался перезапустить XCode, но это не помогло.Любые предложения?

.h:

NSArray *array;
NSMutableArray *mutableArray;

.m

//allocation
mutableArray = [[NSMutableArray alloc] init];

//line where I get warning
[mutableArray addObject:someObj];

Это происходит с каждым массивом, с которым я тестировал.

Ответы [ 2 ]

0 голосов
/ 26 августа 2011

Хорошо, вот что случилось.Была одна версия .m и две версии .h..M импортировал не ту версию .h, которую я не обновлял.Поэтому, когда я обновил .h, он ничего не сделал.После того, как я удалил неправильный .h и добавил правильный .h в проект, все заработало нормально - предупреждения исчезли и изменения в .h отразились на .m.

0 голосов
/ 26 августа 2011

Я сейчас не на своей рабочей станции, но попробуйте> man xcodeindex, он может очистить индекс для вас. (если это все еще в 10.6)

Введите настройки Xcode и найдите панель Locations. В нем у вас есть «Производные данные», содержащие все виды неосновной информации о вашем проекте. Вы можете перейти к нему, нажав маленькую стрелку справа от пути.

Закройте все свои проекты Xcode и выйдите из Xcode. Теперь удалите содержимое папки «Производные данные» и снова откройте свой проект. Xcode должен (довольно быстро) восстановить индекс.

...