我正在尝试使用从 Parse 中检索到的对象来填充 UITableView。
这些项目重新调整好,当我尝试将它们用于我的 _appliances
NSArray
我得到:
'NSInvalidArgumentException', reason: '-[__NSCFString count]: 无法识别的选择器发送到实例
控制台将我的 _appliances
array
打印为:
014-07-27 18:24:16.249 myapp[15839:60b] Fan
2014-07-27 18:24:16.249 myapp[15839:60b] kettle
2014-07-27 18:24:16.250 myapp[15839:60b] Projector
viewDidLoad:
PFQuery *queryApplianceClass = [PFQuery queryWithClassName:@"savedAppliances"];
[queryApplianceClass selectKeys:@[@"appliance"]];
[queryApplianceClass orderByDescending:@"updatedAt"];
queryApplianceClass.limit = 100;
[queryApplianceClass findObjectsInBackgroundWithBlock:^(NSArray *applianceObjects, NSError *error) {
if (!error) {
for (PFObject *applianceList in applianceObjects) {
NSLog(@"%@", applianceList[@"appliance"]); //Prints to console as above
//Array of Appliances from database
_appliances = applianceList[@"appliance"];
}
}
else {
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];
最佳答案
您不断将 NSString
值分配给 _appliances
数组变量。我相信你想要这个:
[queryApplianceClass findObjectsInBackgroundWithBlock:^(NSArray *applianceObjects, NSError *error) {
if (applianceObjects) {
NSMutableArray *appliances = [NSMutableArray array];
for (PFObject *applianceList in applianceObjects) {
NSLog(@"%@", applianceList[@"appliance"]); //Prints to console as above
//Array of Appliances from database
[appliances addObject:applianceList[@"appliance"]];
}
_appliances = appliances;
}
else {
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];
另请注意,如果 applianceObjects
为 nil
,则应仅检查error
。
关于ios - 将对象从 Parse 添加到 UITableView 错误的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24983609/