2013-04-28 66 views
-1

我有一棵樹NSMutableArray作爲treeChannelModel.data,並且我想要生成treeChannelModel.data的樹級別NSMutableArray。例如,我想要得到的樹形層級:如何獲得樹級別的NSMutableArray

NSMutableArray= {0,1,2,2,2,2,2,2,0,1,2,2,2,2,2,3,3,2,2,2,2,3,2,1,2,3,3,2,1,2,3,3,3,2,3,3,2,3,3,3,2,3,2,3,2,3,2,3,2,3,2,3}; 

NSMutableArray *depths1 = [NSMutableArray array]; 
for(int i=0;i<treeChannelModel.data.count;i++){ 
    depths1=[self ChildIntRecursiveWithChannels:channels depths:depths1 number:0]; 
} 

- (NSMutableArray *)ChildIntRecursiveWithChannels:(Channels *)channels depths:(NSMutableArray *) depths number:(int)number { 
    number+=1; 
    [ depths addObject:[NSNumber numberWithInt:number]]; 

    if(channels.channels.count>0){ 
     for(int i=0;i<channels.channels.count;i++){ 
      [self ChildIntRecursiveWithChannels:channels depths:depths number:number]; 
     } 
    } 
    return depths; 
} 

,但我得到一個不正確的array.can您給些建議

回答

0
- (NSMutableArray *)ChildIntRecursiveWithChannels:(Channels *)channels 
              depths:(NSMutableArray *)depths 
              number:(int)number { 

    [depths addObject:[NSNumber numberWithInt:number]]; 
    number += 1; 

    NSLog(@"channels.channels.name:%@", channels.name); 

    for(int i = 0; i < channels.channels.count; i++){ 
     [self ChildIntRecursiveWithChannels:channels.channels[i] depths:depths number:number]; 
    } 
    return depths; 
}