2015-01-25 4 views
-6

Я бежал, чтобы выпустить как этот Мой NSString имеет странное поведение после этого:NSString считает это пустой

NSMutableArray *_keys = [[NSMutableArray alloc]initWithArray:[[_currentContact.phoneNumbers allKeys]mutableCopy]]; 
NSString *fail = [_keys objectAtIndex:0]; 

мой NSString *fail (отладчик) говорит, что это null, но когда я напечатать , он имеет правильную строку.

Я думаю, что у него что-то похожее на this.

Но как это исправить? Как я могу исправить проблему, поэтому моя строка отказа не будет null и сохранит в ней правильную строку?

Edit:

Сразу после

[_selectedphoneType setText:[_currentContact.phoneNumbers objectForKey:fail]]; 

У меня есть аварии для непризнанного селектора Я думаю, что это происходит потому, что потерпеть неудачу null.

+0

Ссылка, о которой вы писали, является * исключениями Unrecogised Selector * и кажется не связанной с вашей проблемой?!? – Droppy

+0

@Droppy У меня есть нераспознанный селектор позже в коде из-за строки: – ColdSteel

+0

, если вы выполняете оператор if, например if (fail! = Nil) сразу после установки NSString с ошибкой, вы вводите его? – Will

ответ

2

Вам нужно проверить, действительно ли ключ является строкой в ​​вашем случае. Сомневаюсь.

добавил бы в качестве комментария .. но имеет меньшую репутацию, поэтому, пожалуйста, игнорируйте.

+0

Но мне все равно нужно быть NSString! – ColdSteel

+0

@ user3351949 Хорошо, вам может потребоваться извлечь из этого объекта строковое значение. Вы должны определить, какое свойство/метод этого класса объекта (по-видимому, 'PhoneNumber') получит строковое представление. – Rob

+0

@Rob Да Спасибо, я уже это сделал! – ColdSteel

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