2012-05-22 57 views
0

我有一個程序,我正在完成這是一個名稱生成器。現在它從2個獨立的數組中取出一個隨機值,將它們連接起來並將結果顯示爲標籤。文本 - 我想有一個反轉標籤文本的按鈕(而不是John Doe,它會說Doe John)。這是我用來做這件事的代碼。我的想法是,我使用數組中的相同值,然後將該字符串分配給一個變量,以便稍後用於另一個名爲「reverseNameValue」的方法中。它不工作:)當我點擊「反向」按鈕時,它會給我展示一個完全不同的名字。有什麼建議?反向UILabel.text值

- (IBAction)generateBName:(id)sender { 
int a = arc4random() % 3; 
int b = arc4random() % 3; 


// populate the array for the names 
NSArray *firstNameArray = [NSArray arrayWithObjects: @"Jacob", 
          @"Ethan", 
          @"Justin", nil]; 
NSArray *middleNameArray = [NSArray arrayWithObjects: @"Jose", 
          @"Jeremiah", 
          @"Julian", nil]; 

// concatenate strings at index of array 
NSString *fullName = [NSString stringWithFormat:@"%@ %@", [firstNameArray objectAtIndex:a], [middleNameArray objectAtIndex:b]]; 
NSString *reverseName = [NSString stringWithFormat:@"%@ %@", [firstNameArray objectAtIndex:b], [middleNameArray objectAtIndex:a]]; 

// display the newly created first & middle names 
reverseNameString = reverseName; 
babyname.text = fullName; 

和反向方法:

- (IBAction)reverseLabel:(id)sender { 
babyname.text = reverseNameString; 
} 
+0

「反向」按鈕觸發此方法? –

+0

這種方法是爲「生成」按鈕..反向按鈕將基本上顯示babyname.text = reverseNameString; – TerryG

+0

您能否包含按下「反向」按鈕時運行的代碼? 'reverseNameString'是一個伊娃嗎?你正在編譯ARC嗎? –

回答

2

你設置reverseName字符串的名字反了,所以它抓住一個名字,然後一箇中間名,但有相反的指標線。它應該是:

NSString *reverseName = [NSString stringWithFormat:@"%@ %@", [middleNameArray objectAtIndex:b],[firstNameArray objectAtIndex:a]]; 
+0

賓果,就是這樣。 (cue d'oh soundbyte)。當我可以的時候,會在6分鐘內「接受」這一點:D – TerryG