NSArray 无法识别我放入其中的内容并给我错误
Posted
技术标签:
【中文标题】NSArray 无法识别我放入其中的内容并给我错误【英文标题】:NSArray unrecognized what I put inside it and give me error 【发布时间】:2012-06-29 14:28:13 【问题描述】:我正在使用 NSArray 并将我使用 json_encode
检索到的字符串放入其中
当它是纯文本时它可以工作,但如果它像我的图像一样不起作用并给我这个错误
我也尝试使用 NSMutableArray 但同样的问题,所以如果是这些 "\r\n" .. 等的问题,如何将其转换为纯文本?
这是我使用的代码:
NSError *er;
SBJsonParser *parser = [[SBJsonParser alloc] init];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://localhost:8888/ost.php"]];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *json_string = [[NSString alloc]initWithData:response encoding:NSUTF8StringEncoding];
content = [parser objectWithString:json_string error:&er];
NSLog(@"%@",json_string);
NSLog(@"%d",[content count]);
NSLog(@"%@",[content objectAtIndex:0]);
【问题讨论】:
代码在哪里?这看起来像是与内存相关的问题。 0 = " : \n \nmediafire.com/?qp0srwq71lccsx1\" href=\"mediafire.com/?qp0srwq71lccsx1\">mediafire.com/?qp0srwq71lccsx1</a> \n \nhttp://www .youtube.com/watch?v=rU9RXYeeR_A"; "post_content" = "\U0644\U062a\U062d\U0645\U064a\U0644\U0645\U0644\U0641\U0627\U062a\U0627\U0644\U0628\U0631\U0646\U0627\U0645\U062c:\n\nmediafire.com/?qp0srwq71lccsx1\" href=\"mediafire.com/?qp0srwq71lccsx1\">mediafire.com/?qp0srwq71lccsx1</a> \n \nhttp://www.youtube.com/watch?v=rU9RXYeeR_A"; 亲爱的它不是有效的 json,你可以通过 jsonlint.com 检查你的 jason 【参考方案1】:我看到一个 NSDictinoary 错误,它使用 objectForKey
而不是 objectAtIndex
你的问题很可能是:
NSLog(@"%@",[content objectAtIndex:0]);
检查content
的类型,这可能是一本字典,它被要求提供索引处的对象。
【讨论】:
这肯定是日志报错的原因。即使 OP 将 NSArray 用于 json 字符串,也有一个 NSDictionary 在某处导致问题。 但我没有使用任何 NSDictionary,我只是使用 nsarry。 日志中的第三行显然是一个 NSDictionary 被要求提供 objectAtIndex "无法识别的选择器发送到实例变量..." 是的,我可以看到它,但我确信 NSDictionary 没有用。 您正在使用字典。你确定不是这样,但你仍然错。以上是关于NSArray 无法识别我放入其中的内容并给我错误的主要内容,如果未能解决你的问题,请参考以下文章
C & MinGW:Hello World 给我错误“程序太大而无法放入内存”