【发布时间】:2013-05-30 14:10:13
【问题描述】:
我正在运行一个没有问题的查询,这是我的代码:
PFQuery *postQuery = [PFQuery queryWithClassName:@"class"];
[postQuery whereKey:@"hasRelationship" equalTo:[PFUser currentUser]];
// Run the query
[postQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
//Save results and update the table
group = [objects valueForKey:@"groupArray"];
}
}
效果不错,组控制台打印如下:
(
("Register one",
"Register two",
"Register three",
"Register four")
)
但我需要一个长度为 4 而不是 1 的数组。每次我通过将结果传递到 NSString“可变副本”中来剥离结果,就像这样崩溃:
( NSString *s = (NSString *)[group objectAtIndex:0];
NSString * text = (NSString *)[s mutableCopy];)
这是错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM stringByReplacingOccurrencesOfString:withString:]: unrecognized selector sent ***
如何将对象内的元素放入长度为 4 的NSArray?谢谢!
【问题讨论】:
-
强制转换不是魔法,它只会让编译器误以为你的对象是一个字符串,而实际上它是一个数组。
-
检查您如何创建打印到控制台的对象。你有一个包含另一个 NSArray 的 NSArray。您的第一个数组 count=1 因为包含另一个 NSArray。你的第二个数组是需要的,它的计数 = 4。;)
-
我终于明白了,但感谢 cmets。这是解决方案: //将结果保存到数组中: group = [[objects valueForKey:@"groupArray"] objectAtIndex:0];
标签: ios nsarray parse-platform