В моем основном проекте IOS я следующая ситуация:
В file1.m у меня есть:Как объявить массив стилей NSString * C в качестве глобальной переменной
NSString* s[] = {@"1", @"2", @"3", @"4"};
В file2.m у меня есть:
extern NSString** s;
в том же file2.m метод ниже терпит неудачу с «непризнанным селектором„длиной“послали к экземпляру ':
- (void) someMethod {
int len = [s[0] length];
}
Если я создаю новый демонстрационный проект и копирую код выше, все работает так, как ожидалось.
В чем может быть проблема с моим главным проектом? Я застрял здесь в течение 2 дней, пытаясь найти проблему.
Такая же проблема возникает с массивами int с той разницей, что я получаю сообщение об ошибке «плохого доступа» при попытке доступа к элементам в массиве, хотя отладчик XCode показывает содержимое массива просто отлично.
Почему? Почему вы не можете использовать NSArray? –
Когда вы запускаете в отладчике то, что s [0]? – Mark
Для массива s отладчик отображает список адресов памяти, но не содержит содержимого строки, как если бы значения в массиве не были правильно инициализированы. – iPDFdev