シングルトン クラスを使用して、(NSURLConnection 経由で) リモート サーバーから JSON をフェッチしています。JSONKit を使用して JSON を解析しようとする場合を除いて、すべて問題ないようです。
ここにいくつかのコードがあります
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[apiData appendData:data];
}
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
NSLog(@"Connection failed! Error - %@ %@",
[error localizedDescription],
[[error userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]);
}
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
NSHTTPURLResponse *realResponse = (NSHTTPURLResponse *)response;
if (realResponse.statusCode == 200)
{
apiData = [[NSMutableData alloc] init];
} else {
NSLog(@"Bad response = %i",realResponse.statusCode);
}
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSString *jsonData = [[NSString alloc] initWithData:apiData encoding:NSUTF8StringEncoding];
NSDictionary *deserializedData = [jsonData objectFromJSONString];
[self.delegate dataLoaded:deserializedData];
}
私が得るエラーはこの行にあります
NSDictionary *deserializedData = [jsonData objectFromJSONString];
-[__NSCFString objectFromJSONString]: unrecognized selector sent to instance 0x7fc1cd0
ここで何が起こっているのですか?これは、JsonKit を使用して JSON を解析する通常の方法のようです。
JSON が有効であることは既に確認済みです。