내 데이터베이스에서 내 프로그램으로 문자열을 다운로드하려고합니다. 나는 내가 배열에서 문자열을 가져 와서 NSString에 저장하려고 할 때를 제외한 모든 것이 잘되고 있다고 생각한다. 내 중단 점의 스크린 샷을 업로드했습니다. NSString *test=[[items objectAtIndex:i]objectForKey:@"vid"];
줄 뒤에 [BHarDetails objectForKey :] : 인식 할 수없는 선택기가 인스턴스 0xcd66680 '으로 전송되는 오류가 발생합니다. 왜 그런지 모르겠습니다. BHarDetails는 vid를 NSString으로 정의하는 NSObject 일뿐입니다. 나 또한 또 다른 NSObject 파일을 어디 변수 VID에 배열을 데이터베이스 필드를 할당하고 배열이 반환됩니다, 나는 확실히 exacctly 왜이 오류가 발생하는지 모르겠습니다. 이 오류를 해결하고 vid 변수 및 항목 배열에서 내 링크를 문자열로 가져 오는 데 도움이되는 도움을 주시면 감사하겠습니다. 내 배열에서 문자열을 가져 오는 중 오류가 발생했습니다.
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
// Create an array to store the locations
NSMutableArray *_transfer = [[NSMutableArray alloc] init];
// Parse the JSON that came in
NSError *error;
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:_downloadedData options:NSJSONReadingAllowFragments error:&error];
for (int i = 0; i < jsonArray.count; i++) {
NSDictionary *jsonElement = jsonArray[i];
BHarDetails *dbfield= [[BHarDetails alloc] init];
dbfield.vid = jsonElement[@"link"];
// Add this question to the transfer array
[_transfer addObject:dbfield];
}
if (self.delegate) {
[self.delegate itemsDownloaded:_transfer];
}
}
빠른 응답, 그것을 고정. 하나. 이 코드를 사용하여 문자열 값을 얻을 수 있었던 경우가 있습니다. 그리고 나는 그들이 꽤 배열되어 있다고 확신한다. 예 (int i = 0; i <[JSONarray count]; i ++) { NSNumber * 위도 = [[JSONarray objectAtIndex : i] objectForKey : @ "latitude"]; 이 경우에는 NSDictionary 객체를 배열에 추가했기 때문에 –
을 사용할 수 있습니다. –
NSData * data = [str dataUsingEncoding : NSUTF8StringEncoding]; NSError * e = nil; NSArray * JSONarray = [NSJSONSerialization JSONObjectWithData : 데이터 옵션 : NSJSONReadingMutableContainers 오류 : &e]; –