NSInvalidArgumentException',原因:'-[__NSArrayI length]:发送到实例 0x165d5150 的无法识别的选择器'
NSInvalidArgumentException', reason: '-[__NSArrayI length]: unrecognized selector sent to instance 0x165d5150'
您好,我正在从服务器获取此数据
NSDictionary*feed=[saveDic objectForKey:@"feed"];
NSLog(@"%@",feed); //Outputs: feed = ( { code = yQ7j0t; "user_id" = 889445341091863; } ); }
NSLog(@"%@",[feed valueForKey:@"code"]);
NSString *referralCode = [feed valueForKey:@"code"];
NSLog(@"%@",referralCode);
self.referralCode.text=referralCode;
因此我遇到了以下错误。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI length]: selector sent to instance 0x165d5150'``
如有任何帮助,我们将不胜感激。
有些地方使用变量;
yourVaribleName.length
或
[yourVaribleName length]
应该是
yourVaribleName.count
注意:崩溃准确地说“yourVaribleName”是 NSArray 键入你想要的 length 的 NSArray。但是 NSArray 没有特征“length”。 NSArray 具有“Count”特征
//试试下面的代码
NSArray *referralCode = [feed valueForKey:@"code"];
NSLog(@"%@",referralCode);
self.referralCode.text=[referralCode componentsJoinedByString:@" "];//@"," or @"" what event you need
问题是,您的 feed
键包含一个数组。您没有在代码中正确处理它,这就是发生崩溃的原因。当您调用 valueForKey:
时,它会检索由该特定键保存的值数组。
修复你可以使用:
NSArray *feed = [saveDic objectForKey:@"feed"];
NSArray *referralCodes = [feed valueForKey:@"code"];
NSString *referralCode = referralCodes.count ? referralCodes[0] : @"";
NSLog(@"%@",referralCode);
但我个人更喜欢使用 objectForKey:
而不是 valueForKey:
。所以你可以像这样重写代码:
NSArray *feed = [saveDic objectForKey:@"feed"];
NSString *referralCode = feed.count ? [feed[0] objectForKey:@"code"] : @"";
NSLog(@"%@",referralCode);
您的 Feed 数据在数组中。所以你已经从 array.Hope 中检索代码值,它将帮助你。
NSMutableArray*feed=[saveDic objectForKey:@"feed"];
NSLog(@"%@",feed);
NSLog(@"%@",[feed valueForKey:@"code"]);
NSString *referralCode = [[feed objectAtIndex:indexPath]valueForKey:@"code"];
NSLog(@"%@",referralCode);
self.referralCode.text=referralCode;
您好,我正在从服务器获取此数据
NSDictionary*feed=[saveDic objectForKey:@"feed"];
NSLog(@"%@",feed); //Outputs: feed = ( { code = yQ7j0t; "user_id" = 889445341091863; } ); }
NSLog(@"%@",[feed valueForKey:@"code"]);
NSString *referralCode = [feed valueForKey:@"code"];
NSLog(@"%@",referralCode);
self.referralCode.text=referralCode;
因此我遇到了以下错误。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI length]: selector sent to instance 0x165d5150'``
如有任何帮助,我们将不胜感激。
有些地方使用变量;
yourVaribleName.length
或
[yourVaribleName length]
应该是
yourVaribleName.count
注意:崩溃准确地说“yourVaribleName”是 NSArray 键入你想要的 length 的 NSArray。但是 NSArray 没有特征“length”。 NSArray 具有“Count”特征
//试试下面的代码
NSArray *referralCode = [feed valueForKey:@"code"];
NSLog(@"%@",referralCode);
self.referralCode.text=[referralCode componentsJoinedByString:@" "];//@"," or @"" what event you need
问题是,您的 feed
键包含一个数组。您没有在代码中正确处理它,这就是发生崩溃的原因。当您调用 valueForKey:
时,它会检索由该特定键保存的值数组。
修复你可以使用:
NSArray *feed = [saveDic objectForKey:@"feed"];
NSArray *referralCodes = [feed valueForKey:@"code"];
NSString *referralCode = referralCodes.count ? referralCodes[0] : @"";
NSLog(@"%@",referralCode);
但我个人更喜欢使用 objectForKey:
而不是 valueForKey:
。所以你可以像这样重写代码:
NSArray *feed = [saveDic objectForKey:@"feed"];
NSString *referralCode = feed.count ? [feed[0] objectForKey:@"code"] : @"";
NSLog(@"%@",referralCode);
您的 Feed 数据在数组中。所以你已经从 array.Hope 中检索代码值,它将帮助你。
NSMutableArray*feed=[saveDic objectForKey:@"feed"];
NSLog(@"%@",feed);
NSLog(@"%@",[feed valueForKey:@"code"]);
NSString *referralCode = [[feed objectAtIndex:indexPath]valueForKey:@"code"];
NSLog(@"%@",referralCode);
self.referralCode.text=referralCode;