2013-10-06 19 views
0

我想展現到文本框,標籤,別的東西在可變數組中的所有對象,除了NSLog的如何在文本字段中顯示NSMutable Array中的所有對象?

- (IBAction)purchasePressed:(id)sender { 
NSMutableArray *addItem = [[NSMutableArray alloc] init]; 
[addItem addObject:@"Almond"]; 
[addItem addObject:@"Choc"]; 

「號」是我的標籤(我不知道所有的MutableArray的對象都可以表現出對textfield或不?)我可以只使用NSLog。

for (i = 0;i < [addItem count] ; i++) 
{ 
    NSLog(@"%@", addItem); 
    NSString *test1=(@"%@", addItem); 
    number.text=test1; 
} 
+0

您可能希望在循環使用的Objective-C的。 for(NSString * string in addItem){} – Kevin

回答

2

每次設置標籤的text時,都會替換原來的文字。

嘗試的東西取代您的整個循環,如:

number.text = [addItem componentsJoinedByString:@", "]; 

這將創建一個從陣列中所有的字符串一個字符串,並添加到標籤。如果你願意,你可以在你的循環中做類似的事情。

+0

只是好奇心,Wain:如果我們有一個巨大的NSStrings集合,那麼是否存在一個枚舉數組的等效版本? – Unheilig

+0

@Unheilig,做什麼呢?字符串的自定義串聯? 'NSArray'提供塊的枚舉,你用它來做什麼是你的選擇... – Wain

+0

@Wain非常感謝你,我可以問你更多關於如何計算mutableArray中的所有對象嗎? –

1

如果你想與串接的所有值的字符串:

NSString *mainString = [NSString alloc] init]; 

for (NSString *item in addItem) { 

    mainString = [mainString stringByAppendingString:item]; 
} 

number.text = mainString; 

編輯:使用的NSMutableString

NSMutableString *mainString = [[NSMutableString alloc] init]; 

for (NSString *item in addItem) { 

    [mainString appendString:item]; 
} 

number.text = mainString; 
+1

你不使用可變字符串嗎? – Wain

+0

我編輯了我的答案以包含NSMutableString代碼。 – RFG

+0

我在[mainString appendingString:item]中出錯了; 沒有可見的@interface for'NSMutableString'聲明選擇器'正在發送字符串:' –

相關問題