2011-10-13 53 views
0
- (IBAction)reverseMethod 
{ 
    //NSUInteger count = [array1 count]; 

    for(int i=[array1 count]-1;i<[array1 count];i--) 
    { 
     [array2 addObject:[array1 objectAtIndex:i]]; 
     NSLog (@"Object at index %d is: %@", 
       i, [array1 objectAtIndex: i]); 


    } 
    array1=array2; 
    [tblMyTable reloadData]; 

} 
+1

你在做什麼使用上面的代碼? – EmptyStack

+0

@ user983398當你想終止循環? (爲什麼這個條件我<[array1 count]),我認爲你需要檢查我> 0。空堆棧的答案在你的非託管代碼中做你正在嘗試的東西。 – Ishu

回答

1

如果你試圖扭轉數組的對象,像這樣做,

- (IBAction)reverseMethod { 

    array1 = [[array1 reverseObjectEnumerator] allObjects]; 
    [tblMyTable reloadData]; 
} 
0

你不清除在進入reverseMethod的數組2實例變量。每次輸入reverseMethod時,都會再次添加array1對象。

要麼在進入reverseMethod時清除array2,要麼在reverseMethod中本地定義array2。

元素不反轉,因爲for循環只運行,而i<[array1 count]它應該運行到i > 0。你想從array1的最後一個索引迭代到第一個索引,即零。

另請參閱this answer瞭解逆向NSArray的一個很好的例子。

相關問題