2011-02-17 4 views
2

xml에서 uitable을 채우려고 시도하면 xml이 이미 구문 분석됩니다.객체 배열 표시

for (Row* fighter in parser.fighter) 
{ 
    NSLog(@"%@",fighter.title); 
    NSLog(@"%@",fighter.info); 
    NSLog(@"%@",fighter.img); 
    NSLog(@"========="); 
} 

인쇄 아웃 :

title0 
info0 
img0 
========= 
title1 
info1 
img1 
========= 
title2 
info2 
img2 
========= 
title3 
info3 
img3 
========= 

나는 2 열

전을 가지고 배열로 구문 분석 된 데이터를 넣어 노력하고있어. [[figher0, fighter1], [fighter2, fighter3]

NSMutableArray *holderArray = [NSMutableArray array]; 
for (NSInteger i = 1; i < [parser.fighter count]; i+=2) { 
    id object1 = [parser.fighter objectAtIndex:i-1]; 
    id object2 = [parser.fighter objectAtIndex:i]; 
    [holderArray addObject:[NSArray arrayWithObjects:object1, object2, nil]]; 
} 

for (int j=0; j< [holderArray count]; j++) { 
    NSLog(@"%d :: %@",j, [holderArray objectAtIndex:j]); 
    NSLog(@"=====",); 
} 

인쇄 아웃 :

"<Row: 0x600c5f0>", 
"<Row: 0x600c680>" 
========= 
"<Row: 0x600c640>", 
"<Row: 0x6106f60>" 
========= 
"<Row: 0x600ee90>", 
"<Row: 0x600eed0>" 
========= 
"<Row: 0x600ec60>", 
"<Row: 0x600f0f0>" 
========= 

어떻게 데이터, 즉 figher.title, fighter.info하고 fighter.img 액세스합니까?

감사합니다.

+0

두 번째 예제를 할 필요가 있다고 생각합니다. 사실, 두 번째 예제는'NSLog (@ "======",); 때문에 컴파일되지 않습니다. 또한, rootArray는 무엇입니까? – JeremyP

+0

나는 그것을 타이핑하는 것을 엉망으로 만들었고, rootArray는 holderArray입니다. – user616860

답변

0

시도 : -

NSMutableArray *holderArray = [NSMutableArray array]; 
for (NSInteger i = 1; i < [parser.fighter count]; i+=2) { 
id object1 = [parser.fighter objectAtIndex:i-1]; 
id object2 = [parser.fighter objectAtIndex:i]; 
[holderArray addObject:[NSArray arrayWithObjects:object1, object2, nil]]; 
} 

for (int j=0; j< [holderArray count]; j++) { 
NSLog(@"%@ :: %@",[holderArray objectAtIndex:j].title, [holderArray objectAtIndex:j].info); 
NSLog(@"=====",); 
} 
0

두 개의 전투기 배열을 인쇄하려고합니다. 배열은 16 진 포인터로만 인쇄됩니다. 당신이해야 할 것은 당신의 내부 배열의 요소를 검색하고 문자열을 수집하는 것입니다 :

for (int j=0; j< [rootArray count]; j++) { 
    NSMutableString rowString = [NSMutableString stringWithCapacity:100]; 
    [rowString appendFormat:@"[ "]; 
    for(Row* fighter in [rootArray objectAtIndex:j]) { 
     [rowString appendFormat:@"[%@, %@] ", fighter.title, fighter.info]; 
    } 

    [rowString appendFormat:@"]"]; 
    NSLog(@"%d :: %@",j, rowString); 
    if(j > 0 && j % 2 == 0) { 
     NSLog(@"====="); 
    } 
} 

난 그렇게 스스로 내 예제에서 구문 오류를 확인하시기 바랍니다 가까이에있는 컴파일러가없는 ;-). 사용

0

난 당신이 표시된 출력을 생성하지 않습니다이

for (int j=0; j< [holderArray count]; j++) { 
    NSLog(@"%d :: title = %@, info = %@",j, [holderArray objectAtIndex:j].title, [holderArray objectAtIndex:j].info); 
    NSLog(@"=====",); 
}