2010-08-17 169 views
0

您好我想接受字符串值到NSArray中的在運行時繼承人是我的嘗試接受字符串值

-(void)fun 

{

NSArray *arr = [[NSArray alloc]init]; 

    for(int i =0;i<3;i++) 
    { 

     scanf("%s",&arr[i]); 
    } 
printf("Print values\n"); 
    for(int j =0; j<3;j++) 
    { 
     printf("\n%s",arr[j]); 
    } 
} 

我是對象從用戶得到一個錯誤,你可以幫我解決這個問題,是他們在目標c中的scanf的替代方案。 謝謝

+0

[NSArray和NSMutable Array之間的差異](http://stackoverflow.com/questions/3491352/difference-between-nsarray-and-nsmutable-array) – JeremyP 2010-08-17 07:55:51

+0

這是**完全相同**問題作爲你昨天問的**問題。閱讀並採取行動回答這個問題,你不需要問這個問題。 – JeremyP 2010-08-17 07:57:54

回答

0

改爲使用NSMutableArray; 比也可以

[arr addObject:tempVar]; 
1

scanf()使用與%s格式將讀取的字符串成C數組,不是NSArray對象。您需要將字符串讀入C數組,然後將NSString對象添加到NSArray。你還需要有一個可變數組來讓你的代碼工作。示例:

NSMutableArray *arr = [[NSMutableArray alloc] initWithCapacity:3]; 
for (int i = 0; i < 3; i++) 
{ 
    char buf[100]; 
    scanf("%s", buf); 
    NSString *str = [NSString stringWithCString:buf encoding:NSASCIIStringEncoding]; 
    [arr addObject:str]; 
} 

您可以使用NSLog()稍後打印字符串。