问题描述
|
您好,我有这个NS对象:
@interface Checkin : NSObject {
Nsstring *name;
Nsstring *profID;
Nsstring *time;
Nsstring *lon;
Nsstring *lat;
Nsstring *country;
Nsstring *city;
Nsstring *place;
Nsstring *photoURL;
NSMutableArray *taggedID;
NSMutableArray *taggedname;
}
@property(nonatomic,retain)Nsstring *name;
@property(nonatomic,retain)Nsstring *profID;
@property(nonatomic,retain)Nsstring *time;
@property(nonatomic,retain)Nsstring *lon;
@property(nonatomic,retain)Nsstring *lat;
@property(nonatomic,retain)Nsstring *country;
@property(nonatomic,retain)Nsstring *city;
@property(nonatomic,retain)Nsstring *place;
@property(nonatomic,retain)Nsstring *photoURL;
@property(nonatomic,retain)NSMutableArray *taggedID;
@property(nonatomic,retain)NSMutableArray *taggedname;
@end
现在,我想创建一个NSMutable数组,并在其中添加几个\“ Checkins \”。
当我这样做时:
Checkin *checkinsA = [[NSObject alloc] init];
NSDictionary *decodedJson = result;
NSArray *users = [decodedJson objectForKey:@\"data\"];
for(NSDictionary *user in users) {
NSLog(@\"Created item: %@ \\n\",[user objectForKey:@\"created_time\"]);
checkinsA.time = [Nsstring stringWithFormat:@\"%@\",[user objectForKey:@\"created_time\"]];
NSDictionary *fromData = [user objectForKey:@\"from\"];
NSLog(@\"user id is: %@ \\n\",[fromData objectForKey:@\"id\"]);
checkinsA.profID = [fromData objectForKey:@\"id\"];
NSLog(@\"user name is: %@\\n \",[fromData objectForKey:@\"name\"]);
checkinsA.name =[fromData objectForKey:@\"name\"];
NSDictionary *placeData = [user objectForKey:@\"place\"];
NSDictionary *locationData = [placeData objectForKey:@\"location\"];
NSLog(@\"City: %@ \\n\",[locationData objectForKey:@\"city\"]);
checkinsA.city = [locationData objectForKey:@\"city\"];
NSLog(@\"Country: %@ \\n\",[locationData objectForKey:@\"country\"]);
checkinsA.country = [locationData objectForKey:@\"country\"];
NSLog(@\"Latitude: %@ \\n\",[locationData objectForKey:@\"latitude\"]);
checkinsA.lat = [locationData objectForKey:@\"latitude\"];
NSLog(@\"Longitude: %@ \\n\",[locationData objectForKey:@\"longitude\"]);
checkinsA.lon = [locationData objectForKey:@\"longitude\"];
NSLog(@\"Place name: %@ \\n\",[placeData objectForKey:@\"name\"]);
checkinsA.place = [placeData objectForKey:@\"name\"];
NSDictionary *tagData = [user objectForKey:@\"tags\"];
NSArray *tagDataArray = [tagData objectForKey:@\"data\"];
for(NSDictionary *tagData2 in tagDataArray){
NSLog(@\"tagged user id is: %@ \\n\",[tagData2 objectForKey:@\"id\"]);
[checkinsA.taggedID addobject:[tagData2 objectForKey:@\"id\"]];
NSLog(@\"tagged user name is: %@\\n \",[tagData2 objectForKey:@\"name\"]);
[checkinsA.taggedname addobject:[tagData2 objectForKey:@\"name\"]];
}
[checkinArray addobject:checkinsA];
}
我收到错误消息:
-[NSObject setTime:]:无法识别的选择器已发送到的实例
checkinsA.time = [Nsstring stringWithFormat:@ \“%@ \”,[user objectForKey:@ \“ created_time \”]]];
更改checkinsA.time checkins.id等值的正确方法是什么?
解决方法
之所以会出现此错误,是因为
checkinsA
不是Checkin
对象,而是一个ѭ4si(因为这是您分配的对象),而NSObject
没有setTime
方法。尝试以下方法:
Checkin *checkinsA = [[Checkin alloc] init];