2013-07-16 38 views
0

我對Xcode相當陌生,並且還有一個相當不熟悉的問題,它非常相關。 我來自VB.NET,如果我想打印mylabel + mylabel(X10)我會使用下面的代碼:使用for循環來連接字符串

for(i=0,i<=10,i++) { 
    mylabel = i; 
    mylabel &= mylabel; 
} 

我想對Xcode中做到這一點,以及...

我目前有將覆蓋字符串,而不是將它添加的:

for (int i=0; i<=10; i++) { 
    NSMutableString *lol = 
     [[NSMutableString alloc]initWithFormat:@" Getal: %i \n",i]; 
    [myLabel setStringValue:lol]; 
} 
+2

顯然你是很新的,因爲沒有人教過你嗎那Xcode是開發系統和Objective-C的語言,你(通常情況下)寫入。 –

+0

使用'%d',而不是'%i'。一般而言,您不要在標籤文本中使用'\ n'。如果不打算修改它,則不需要創建可變字符串。如果myLabel是一個UILabel,你可以用'setText:'設置它的文本。 –

+0

@HotLicks當與字符串格式一起使用時,'%d'和'%i'是相同的。 – rmaddy

回答

2

如果您的目的是創建一個字符串的10份「Getal:#」在裏面,在不同的行,你會使用這樣的:

NSMutableString* result = [NSMutableString stringWithCapacity:150]; 
for (int i = 0; i < 10; i++) { 
    [result appendFormat:@"Getal: %d\n", i]; 
} 
0

貌似你試圖建立索引列表?試試這個:

NSMutableString *accumulator = [NSMutableString string]; 
for (int i = 0; i <= 10; i++) { 
    [accumulator appendString:[NSString stringWithFormat:@"%d", i]]; 
} 
myLabel.text = accumulator; 

如果這不完全是你想要的,也許它會讓你開始。或者,如果您可以舉一個您正在尋找的輸出的例子,那麼有人可能會很好地編輯它。

+1

小錯誤 - 將'accumulator'聲明爲'NSNMutableString'而不是'NSString'。 – rmaddy

+0

@rmaddy好的。 – Caleb

-1

謝謝,現在我明白了什麼追加是爲了以及如何以正確的方式使用它!

我想出什麼樣的主意是以下幾點:

[myLabel setStringValue:@""]; 
    for (int i=0; i<=10; i++) { 
    NSMutableString *lol = [[NSMutableString alloc]initWithFormat:@"%@ Getal: %i \n",[myLabel stringValue],i]; 
    [myLabel setStringValue:lol]; 
+0

什麼樣的對象是「myLabel」?有沒有什麼原因,你不想追加到可變字符串vs使用重複字符串重新創建(其中可變字符串是不必要的)? –

+0

這是一個IBOutlet。事情是,我不知道如何「追加」。 我真的很陌生,並試圖找到我的目標C編程基礎知識,因爲我來自Vb.net這是一個非常震驚,héhé –

+0

不,它不是一個IBOutlet。 「IBOutlet」是對屬性的註釋,讓開發系統的各個部分知道這些屬性將與UI的元素相關聯。直接在「IBOutlet」的右側,你會看到變量的類型。例如:'IBOutlet UILabel * myLabel'。 –

相關問題