2011-12-29 85 views
0
#import <Foundation/Foundation.h> 

int main (int argc, const char * argv[]) 
{ 

    @autoreleasepool { 

     NSMutableArray *changeme =[NSMutableArray arrayWithCapacity:25]; 

     //[changeme addObject:[NSNumber numberWithInt:2]]; 

     for (int i=2; i<=100;i+=2) 
     { 
       [changeme addObject:[NSNumber numberWithInt:i]]; 

     } 

     for(int x=0;x<[changeme count];x++) 
     { 

      NSLog(@"Item here is %i",[[changeme objectAtIndex:x]intValue]); 
     } 

     [changeme removeObjectAtIndex:2]; 
    return 0; 
} 

} 

removeObjectAtIndex刪除對象在index.My程序應該從2-100打印所有偶數。所以,應該刪除index[2]=6。但是,這不是反應,它應該是。的NSMutableArray和removeobjectsatindex

回答

2

燁其刪除對象在2.當u打印烏爾陣列然後烏爾無法看到物體指數是2。

for(int x=0;x<[changeme count];x++) 
     { 

      NSLog(@"Item here is %i",[[changeme objectAtIndex:x]intValue]); 
     } 

     [changeme removeObjectAtIndex:2]; 
NSLog(@"%@",[changeme description]); 

6沒有更多的陣列。

3

此處僅在打印項目後才刪除對象。

如果移動代碼

[changeme removeObjectAtIndex:2]; 

開始第二for環的,那麼你會看到該索引[2] = 6,刪除了。

所以應該如下:

for (int i=2; i<=100;i+=2) 
    { 
      [changeme addObject:[NSNumber numberWithInt:i]]; 
    } 

    [changeme removeObjectAtIndex:2]; 

    for(int x=0;x<[changeme count];x++) 
    { 
     NSLog(@"Item here is %i",[[changeme objectAtIndex:x]intValue]); 
    }