gpt4 book ai didi

ios - -[__ NSArrayM objectForKey:]:无法识别的选择器已发送到实例0x9d0d720

转载 作者:行者123 更新时间:2023-12-01 18:06:51 26 4
gpt4 key购买 nike

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
[jsonArray removeAllObjects];
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
responseData = nil;
NSMutableArray *sdf = [(NSDictionary*)[responseString JSONValue] objectForKey:@"DataTable"];
NSMutableArray * myArray = [[NSMutableArray alloc] init];
NSMutableDictionary * myDict = [[NSMutableDictionary alloc] init];
if (([(NSString*)sdf isEqual: [NSNull null]])) {

// Showing AlertView Here
}else {
for (int i=0; i<[sdf count]; i++) {
myDict=[sdf objectAtIndex:i];
[myArray addObject:[myDict objectForKey:@"RxnCustomerProfile"]];
}

jsonArray=[myArray mutableCopy];
NSMutableDictionary *dict=[jsonArray objectAtIndex:0];
if ([dict count]>1) {
// Showing AlertView Here
}
}
}

大家好,我有关于 -[__NSArrayM objectForKey:]:的问题。
试图解决,但没有得到更好的解决方案。请帮我
找到解决方案。提前致谢

以下是问题

由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'-[__ NSArrayM objectForKey:]:无法识别的选择器发送到实例0x19731d40'

最佳答案

这是一个调试问题,没有人能真正为您解决它,因为您使用的是定义和值未知的非局部变量,更不用说您使用的是SBJSON(我猜),等等。但是让我们看看是否可以给你一些指示。您的错误:

[__NSArrayM objectForKey:]: unrecognized selector sent to instance

这说明您已将字典方法( objectForKey)发送到数组( __NSArrayM)。因此,当您认为自己有字典时,就会在某个地方拥有数组。

现在,您声明并分配一个字典:
NSMutableDictionary * myDict = [[NSMutableDictionary alloc] init];

然后分配给它:
myDict=[sdf objectAtIndex:i];

因此,这将丢弃您分配的字典,而是分配数组 i中索引 sdf处的内容。与思考相反,您怎么知道数组的元素是字典?您无需测试即可...

那么 sdf是从哪里来的呢?这行:
NSMutableArray *sdf = [(NSDictionary*)[responseString JSONValue] objectForKey:@"DataTable"];

这样就在某个未知字符串上调用 JSONValue,假设结果是一个字典(可能是数组吗?还是失败?),查找一个键(您的错误是否出自此行?),并假设结果是一个数组。

因此,您需要做的就是测试所有这些假设,然后在某个地方找到一个您认为有字典的数组。

狩猎愉快!

关于ios - -[__ NSArrayM objectForKey:]:无法识别的选择器已发送到实例0x9d0d720,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40691794/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com