다음 오류가 발생합니다. 나는 그것이 JSON 배열의 결과에서 NSDictionary와 관련이 있다고 생각한다. 나는. 어쩌면 NSDictionary 내에서 NSDictionary?JSON ObjectiveC - 오류
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString objectForKey:]: unrecognized selector sent to instance 0x7f9298554560'
이것은 호출시 JSON 서비스입니다. 이 코드는 Xcode에서 직접 인쇄되지만 깨끗하게 보입니다.
Printing description of self->metArray:
{
weatherObservation = {
ICAO = YBBN;
clouds = "few clouds";
cloudsCode = FEW;
countryCode = AU;
datetime = "2014-11-24 03:00:00";
dewPoint = 20;
elevation = 5;
hectoPascAltimeter = 1014;
humidity = 61;
lat = "-27.38333333333333";
lng = "153.1333333333333";
observation = "YBBN 240300Z 02019KT 9999 FEW029 SCT250 28/20 Q1014";
stationName = "Brisbane Airport M. O";
temperature = 28;
weatherCondition = "n/a";
windDirection = 20;
windSpeed = 19;
};
}
이것은 JSON 서비스를 호출하는 코드입니다.
-(void)getMetar{
// NSString *location = @"YBBN";
NSString * const metarUrl [email protected]"http://api.geonames.org/weatherIcaoJSON?ICAO=YBBN&username=demo";
NSURL *url2 = [NSURL URLWithString:metarUrl];
NSData *data2 = [NSData dataWithContentsOfURL:url2];
metArray = [NSJSONSerialization JSONObjectWithData:data2 options:kNilOptions error:nil];
//Create an NSDictionary for the weather data to be stored.
NSDictionary *metarJson = [NSJSONSerialization JSONObjectWithData:data2 options:kNilOptions error:nil];
//Loop through the JSON array
NSArray *currentMetarArray = metarJson[@"weatherObservation"];
//set up array and json call
metarArray = [[NSMutableArray alloc]init];
for (NSDictionary *metaritem in currentMetarArray)
{
//create our object
NSString *nClouds = [metaritem objectForKey:@"clouds"];
NSString *nObservation = [metaritem objectForKey:@"observation"];
//Add the object to our animal array
[metarArray addObject:[[metar alloc]initWithclouds:(nClouds) andobservation:nObservation]];
}
}
나는 괜찮은 것처럼 보이지만 어쩌면 그것이 내가 몇 시간 동안보고 있었기 때문일 수 있습니다.
아이디어가 있으십니까?
Google "인식 할 수없는 선택기"와 그 의미를 확인하십시오. 그런 다음 실패한 라인을 식별 할 수 있도록 적절한 예외 스택 추적을 얻는 방법을 배웁니다. –
하지만 JSON에 배열이 없다는 것이 핵심입니다. json.org로 가서 JSON 구문을 배우십시오. –
안녕 핫 릭, 좋은 지적 "나는 인식 할 수없는 선택기"를 얻는 방법에 대한 검색을 생각하지 않았다. iOS에서 여전히 새로운 것이지만 매일 더 나은 감사를 보내고 있습니다! – Jeremy