//initialize the people data list
- (void)initializePeopleListFromJson:(CLLocationCoordinate2D)coordinate auraId:(NSString *)auraId
{
//initialize the NSMutableArray list
self.peopleList = [[NSMutableArray alloc] init];
//retrieve the coordinate of myself
//NSString *myCoordinate = [NSString stringWithFormat:@"%f,%f", coordinate.latitude, coordinate.longitude];
NSString *myCoordinate = @"31.2,121.6";
NSString *url = [NSString stringWithFormat:@"%@%@%@%@", @"http://services.portaura.mobi/AuraMesh/auraFinder/findPeoples?ll=", myCoordinate, @"&source=tencent,netease,kaixin&myAuraId=", auraId];
NSLog(@"*********** %@", url);
//retrieve the people list from web service
NSDictionary* result = [NSDictionary dictionaryWithContentsOfJSONURLString:url];
NSArray *peopleListFromJson = [result objectForKey:@"data"];
// NSLog (@ "peopleList : % @", peopleListFromJson);NSCFString objectForKey 인스턴스로 전송 된 인식 할 수없는 셀렉터
People *people;
UserProfile *userProfile;
NSDictionary *geoFromJson;
NSDictionary *profileFromJson;
for (NSDictionary *peopleFromJson in peopleListFromJson)
{
people = [[People alloc] init];
userProfile = [[UserProfile alloc] init];
people.foreignId = [peopleFromJson objectForKey:@"foreignId"];
people.id1 = [peopleFromJson objectForKey:@"id"];
people.isFavorited = [peopleFromJson objectForKey:@"isFavorited"];
people.lastActiveTime = [peopleFromJson objectForKey:@"lastActiveTime"];
people.lastActivity = [peopleFromJson objectForKey:@"lastActivity"];
people.lastPlace = [peopleFromJson objectForKey:@"lastPlace"];
people.source = [peopleFromJson objectForKey:@"source"];
NSLog(@"AAAAAAAA %@", [peopleFromJson objectForKey:@"foreignId"]);
//process geo
geoFromJson = [[NSDictionary alloc] init];
geoFromJson = [peopleFromJson objectForKey:@"geo"];
CLLocationCoordinate2D coordinate;
coordinate.latitude = [[geoFromJson objectForKey:@"lat"] floatValue];
coordinate.longitude = [[geoFromJson objectForKey:@"lng"] floatValue];
people.geo = coordinate;
people.distance = [geoFromJson objectForKey:@"distance"];
//process profile
profileFromJson = [[NSDictionary alloc] init];
profileFromJson = [peopleFromJson objectForKey:@"profile"];
people.avatar = [profileFromJson objectForKey:@"avatar"];
people.gender = [profileFromJson objectForKey:@"gender"];
people.location = [profileFromJson objectForKey:@"location"];
people.screenName = [profileFromJson objectForKey:@"screenName"];
people.signature = [profileFromJson objectForKey:@"sigunature"];
//people.userProfile = userProfile;
[self addPeople:people];
}
}
it give me the [__NSCFString objectForKey:]: unrecognized selector sent to instance 0x1808d0,can you give some advice
JSON 같은
{ "상태"0 "데이터"{ "목록": [{ "foreignId": "8827857641648129226", "지리적 ": {"거리 ": 1359,"lat ": 31.20926508184017,"lng ": 121.59068046014856},"id ":"netease_8827857641648129226 ","isFavorited ": false,"lastActiveTime ":"2012-05-19T20 : 26 : 47Z ","lastActivity ":"목표 http://126.fm/kFEKl ","lastPlace ":" ","프로필 ": {"avatar ":"http://oimagea3.ydstatic.com/image?w=48 &h = 48 & url = http % 3 % 2F % 2Fmimg.126.net % 2Fp % 2Fbutter % 2F1008031648 % 2Fimg % 2Fface_big.gif ","gender ": 0,"location ":" ","screenName ":"4671784460 ","sigunature " , "tags": []}, "source": "netease"} ......
대부분의 경우'profileFromJson = [peopleFromJson objectForKey : "프로필"@]'대신 NSDictionary와의있는 NSString을 반환합니다 .... 어떻게 JSON 정말 보입니까? –
저는 새로운 iOS 개발자입니다. 다른 사람들을 수정하려고합니다. 감사합니다. – pengwang
JSON에 의존하기 때문에 항상 올바르지 않다고 생각합니다. 때로는 NSDictionary가 맞습니다. 때로는 NSString입니다. – pengwang