방금 특정 질문에 대한 검색을했는데 답변이 가까웠지만 대답을 둘러 볼 수는 없으므로 도움이 필요합니다.사전 객체를 NSMutableArray에 추가하려고합니다. 이후 배열이 null을 반환합니까?
JSON 문자열에서 파싱 된 사전 개체 그룹을 배열 (NSMutableArray)로 채우고 싶습니다 ... 사전에있는 JSON 구문 분석 결과를 가져 왔지만 넣으려고하면 내가 NewFinalArray이라고 만드는 오전 년 - 배열 : 그것은 내가 얻을있는 NSMutableArray 및 NSLog (널)에 이러한 개체는 ... 여기에 (일반적인 방법) 내 단계
편집 1입니다. DetailViewController의 viewDidLoad 메소드에 명시된대로 .h 파일에서 선언되고 합성 (그리고 지금은 alloc'd 및 init'd) 된 NSMutableArray입니다. 그것의 내용은 UITableView에 표시됩니다.
-Init DetailViewController에서 일반 NSArray/NSMutableArray를 만들고 내 UITableView에 표시되는 값으로 채우는 데 성공했습니다.
- 사전 시나리오를 통해 검색 할 수있는 JSON 문자열을 통해 표시 할 정보를 받고 있습니다. 나는 아이폰/아이 패드 용 Stig JSON 라이브러리를 사용하고있다. 나는 거기에 문제가 없다.
- 내가 원했던 것은 기존 배열 객체를 가져 와서 (기존 배열에서 반복하여 볼 수있는) 새로운 UITableview에 메뉴 항목을 표시하는 데 사용되는 새로운 Array에 추가하는 것입니다.
- 나는 나의 .H 파일에 내 mutableArray을 선언
@interface blah : ...,...,...{ NSMutableArray *newFinalArray; // other vars and IBOutlets } @property (nonatomic, retain) NSMutableArray *newFinalArray; // other @property and (IBAction) stuff @end
그때 내하는 .m 파일에 합성
... 난 심지어 ALLOC/viewDidLoad에 (그것이 DetailViewController의)
그것을 inited는@synthesize this,that, newFinalArray; // keep track of newFinalArray, that's the one I want - (void)viewDidLoad { // other code [[newFinalArray alloc] init]; // ya returns a warning, about not responding to alloc, but whatever (for now) // I also tested of course without having to do that.
newFinalArray를 사용하는 내 메서드에서이 메서드는 자체를 호출하는 재귀 함수입니다. 이 호출 할 때마다, 그것은 (그것을 또는합니까?) 배열에 사전 개체를 추가해야
-(void)digTree:(NSArray *)array{ for (NSDictionary *dictionary in array){ // looping through the array [self newFinalArray addObject:[dictionary]]; // more other code, and somewhere along the way I recurse [self digTree:anotherArray]; } }
내가 NSLog하려고 할 때 ("내 최종 배열 %의 @입니다"@ newFinalArray을) 내가 할 (널 (null)).
나는 아마도 여기에 뭔가 빠져 있습니다. 끝에 "nil"을 추가하려고했습니다. 저는 약간 새로운/녹색이에요. 누군가가 손을 빌려서 newFinalArray에 이러한 사전 객체를 채우는 방법을 알려 주면 가장 감사하겠습니다.
경고 : 특히 주변에 문제가있는 경우에는 "예, 무엇이든간에"경고를하지 마십시오. 확율은 좋은 (이 경우와 같이) 그것은 실수의 방향으로 바로 향하고 있습니다. 많은 전문가들은 컴파일러 플래그를 사용하여 경고를 하드 오류로 처리하므로 무시할 수 없습니다. – Chuck
(나는 결코 그 경고가 내 질문과 관련 있다고 생각하지 않는다.) 그러나 알림을 주셔서 감사합니다. – djeddiej
예, 글쎄 그것은 매우 관련이 있습니다. 코드가 그 라인과 함께 작동하지 않을 수도 있습니다. ! –