【问题标题】:Declared NSString is taking the value in the form of NSarray声明的 NSString 以 NSarray 的形式取值
【发布时间】:2014-01-26 14:04:41
【问题描述】:

我遇到了一个奇怪的异常,"-[__NSArrayI integerValue]: unrecognized selector sent to instance 0x10b40bc0 “我将值存储在 NSString 中,但它以 NSArray 的形式存储值。在我的应用程序中,我声明了一个 NSString 变量,如下所示。

@property(nonatomic)NSString *phoneNumberSelected;
@synthesize phoneNumberSelected;

我正在从具有以下电话号码的数组中获取值:

phoneNumberSelected = [finalCustomerNumberArrayInViewControllerForFunctionalitiesOfBankViewController objectAtIndex:finalBankNumber];

当我执行 NSLog 时,它显示如下:

PHONE NUMBER SELECTED (
    "+93799700900"
)

但我不希望用括号保存它,因为我必须用我没有括号的号码拨打电话

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];

我是 iphone 开发新手。任何帮助表示赞赏

【问题讨论】:

  • 仅仅因为你声明了一些 NSString 并不能使它成为一个。我可以称自己为“宇宙之王”,但我怀疑很多人会像对待我一样对待我(恰恰相反)。
  • 那么也许... 取数组的第一个元素?*
  • 如何声明变量phoneNumberSelected 有一定的重要性。如何加载数组finalCustomerNumberArrayInViewControllerForFunctionalitiesOfBankViewController 更为重要。你能包括那个代码吗?另外,我知道它是 Objective-C,但对于变量名来说,WAY、WAY、WAY 太长了。
  • @nhgrif - 点了。但他得到的对象是一个数组,从转储中的括号() 字符可以清楚地看到。
  • 如果我们正在处理电话号码,我预计使用地址簿中的ABMultiValueCopyArrayOfAllValues 而不是复制单个特定值可能会成为问题。

标签: objective-c nsstring


【解决方案1】:

您遇到了崩溃,因为您进入的对象不是 NSString 类,而是 NSArray 类。

做这样的事情:

NSArray *phoneNumbers = [finalCustomerNumberArrayInViewControllerForFunctionalitiesOfBankViewController objectAtIndex:finalBankNumber];

phoneNumberSelected = [phoneNumbers firstObject];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多