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

У меня есть массив целых чисел и вам нужно их прочитать по одному. Может ли кто-нибудь рассказать мне, как его кодировать?Как читать массив целых чисел?

ответ

10

На самом деле, у вас есть массив NSStrings.

Обратите также внимание, что назначение экземпляра NSArray для ссылки NSMutableArray * не имеет большого смысла.

В любом случае, вы можете:

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

Обратите внимание, что вы должны назвать переменные, начинающиеся с буквы нижнего регистра. Предотвращает путаницу и конфликты с именами классов (что, если вы хотите создать класс с именем Number позже?).

+0

спасибо очень – Muniraj

0

Как и в сторону, вы должны использовать:

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

Компетентник позволит вам назначить NSArray для NSMutableArray, но если вы попытаетесь отправить его конкретные сообщения NSMutableArray, это может привести к сбою.

+0

компилятор должен предупредить вас о том, что Я думаю, что типы не совместимы. – Chuck

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 
Смежные вопросы