Ios NSString认为它是空的
我遇到过这样的问题 我的Ios NSString认为它是空的,ios,objective-c,nsstring,Ios,Objective C,Nsstring,我遇到过这样的问题 我的NSString有一种奇怪的行为 在此之后: NSMutableArray *_keys = [[NSMutableArray alloc]initWithArray:[[_currentContact.phoneNumbers allKeys]mutableCopy]]; NSString *fail = [_keys objectAtIndex:0]; 我的NSString*fail(在调试器中)说它是null,但当我打印它时,它有正确的字符串 我想它有点类似于 但
NSString
有一种奇怪的行为
在此之后:
NSMutableArray *_keys = [[NSMutableArray alloc]initWithArray:[[_currentContact.phoneNumbers allKeys]mutableCopy]];
NSString *fail = [_keys objectAtIndex:0];
我的NSString*fail
(在调试器中)说它是null
,但当我打印它时,它有正确的字符串
我想它有点类似于
但如何解决这个问题呢?我如何解决该问题,使我的失败字符串不会为null
,并在其中保留正确的字符串
编辑:
紧接着
[_selectedphoneType setText:[_currentContact.phoneNumbers objectForKey:fail]];
我有一个无法识别的选择器崩溃,我想这是因为失败是
null
您需要检查密钥在您的情况下是否真的是字符串。我对此表示怀疑
本应作为评论添加。。但是名声不太好,所以请忽略。您发布的链接是关于未经证实的选择器异常的,似乎与您的问题无关@Droppy我以后在代码中有无法识别的选择器,因为字符串为空。如果在设置fail NSString后立即执行if(fail!=nil)之类的if语句,是否输入它?@Will Yes I do enter in ITI它似乎是
电话号码
类的实例,而不是字符串。顺便说一句,你对这个问题的标题,你认为它是空的,显然不是这样。但我需要它是一个NSString无论如何@user3351949好的,您可能需要从这个对象中提取一些字符串值。您必须确定此对象的类(显然是PhoneNumber
)的哪个属性/方法将检索字符串表示形式。