【问题标题】:NSString thinks it is nullNSString 认为它是空的
【发布时间】:2015-01-25 13:55:53
【问题描述】:

我遇到过这样的问题 我的NSString 有一个奇怪的行为 在此之后:

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

我的NSString *fail(在调试器中)说它是null,但是当我打印它时,它有正确的字符串。

我认为它类似于this

但是如何解决呢?我该如何解决这个问题,这样我的失败字符串就不会是 null 并且会在其中保存正确的字符串?

编辑:

紧接着

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

我有无法识别的选择器崩溃我认为这是因为失败是null

【问题讨论】:

  • 您发布的链接是关于 Unrecogised Selector 异常,似乎与您的问题无关?!?
  • @Droppy 由于字符串为空,我稍后在代码中有无法识别的选择器
  • 如果你在设置失败的 NSString 后立即执行 if (fail != nil) 之类的 if 语句,你输入吗?
  • @Will Yes I do enter in it
  • 它似乎是 PhoneNumber 类的实例,而不是字符串。顺便说一句,你认为这个问题的标题是空的,显然不是这样。

标签: ios objective-c nsstring


【解决方案1】:

在您的情况下,您需要检查密钥是否真的是一个字符串。我对此表示怀疑。

会作为评论添加..但声誉较低,所以请忽略。

【讨论】:

  • 但无论如何我都需要它是一个 NSString !
  • @user3351949 很好,您可能需要从该对象中提取一些字符串值。您必须确定该对象类的哪些属性/方法(显然是PhoneNumber)将检索字符串表示形式。
猜你喜欢
  • 2011-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多