2010-01-26 64 views
1
NSMutableArray *Number=[NSArray arrayWithObjects: @"1", @"2", @"3", @"4", @"5", @"6", nil]; 

我有整數的陣列,並且需要通過一個讀取它們之一。 任何人都可以告訴我如何編碼嗎?如何讀取整數數組?

回答

10

其實,你有NSString的數組。

還要注意的是,以一個NSMutableArray *參考分配一個NSArray實例沒有太大的意義。

在任何情況下,你可以:

for(NSString *foo in numberArray) { 
    int i = [foo intValue]; 
    .... 
} 

請注意,您應該名稱以小寫字母變量。避免混淆和與類名衝突(如果您想在以後創建一個名爲Number的類?)。

+0

感謝名單非常 – Muniraj 2010-01-26 18:00:44

0

順便說一句,你應該使用:

NSMutableArray *numStrings=[NSMutableArray arrayWithObjects: @"1", @"2", @"3", @"4", @"5", @"6", nil];

編譯器會讓你分配一個NSArray到一個NSMutableArray,但是如果你試圖發送它NSMutableArray特定的消息,它可能會崩潰。

+0

編譯器應該提醒你的是,類型是不兼容的,我想。 – Chuck 2010-01-26 23:30:28

2

這是你如何枚舉陣列,NSArray的是不可改變的,整數的:

NSArray * numbers = [NSArray arrayWithObjects:[NSNumber numberWithInt:1], 
               [NSNumber numberWithInt:2], 
               [NSNumber numberWithInt:4], 
               [NSNumber numberWithInt:5], 
               [NSNumber numberWithInt:6], 
               [NSNumber numberWithInt:7], 
               nil]; 
// now print out 
id obj; 
NSEnumerator * enumerator; 

enumerator = [numbers objectEnumerator]; 
while ((obj = [enumerator nextObject])) NSLog(@"%@", obj); 

這是你如何動態地添加整數數組,NSMutableArray裏,(然後打印數組):

NSLog(@"\ndynamically add integers:"); 

NSMutableArray * num2 = [[NSMutableArray alloc] init]; 
int i; 
for (i = 0; i < 10; ++i) [num2 addObject:[NSNumber numberWithInt:i]]; 

// now print out 
enumerator = [num2 objectEnumerator]; 
while ((obj = [enumerator nextObject])) NSLog(@"%@", obj); 
來自

輸出:

2010-01-27 14:51:40.307 x[5566] 1 
2010-01-27 14:51:40.308 x[5566] 2 
2010-01-27 14:51:40.308 x[5566] 4 
2010-01-27 14:51:40.308 x[5566] 5 
2010-01-27 14:51:40.308 x[5566] 6 
2010-01-27 14:51:40.308 x[5566] 7 
2010-01-27 14:51:40.308 x[5566] 
dynamically add integers: 
2010-01-27 14:51:40.308 x[5566] 0 
2010-01-27 14:51:40.308 x[5566] 1 
2010-01-27 14:51:40.308 x[5566] 2 
2010-01-27 14:51:40.308 x[5566] 3 
2010-01-27 14:51:40.308 x[5566] 4 
2010-01-27 14:51:40.308 x[5566] 5 
2010-01-27 14:51:40.308 x[5566] 6 
2010-01-27 14:51:40.308 x[5566] 7 
2010-01-27 14:51:40.308 x[5566] 8 
2010-01-27 14:51:40.309 x[5566] 9