2012-07-26 104 views
0

我剛剛開始爲iPhone開發(我一直是Android開發人員很長一段時間),並且遇到了一個非常非常非常簡單的任務:更改文本的文字標籤。我遵循Apple開發者教程,但是NSString的initWithFormat方法存在問題。NSString initWithFormat返回「...」

的問題是這種方法:

-(IBAction)changeGreeting:(id)sender { 

    self.userName = self.textField.text; 

    NSString *nameString = self.userName; 
    if ([nameString length] == 0) { 
     nameString = @"World"; 
    } 

    NSString *greeting = [[NSString alloc] initWithFormat:@"Hello, %@!", nameString]; 
    self.label.text = greeting; 
} 

當我運行該項目,是否有文本字段的值與否,標籤始終設置爲你好,...

當我的方法的最後一行更改爲:

self.label.text = self.userName; 

或郵寄至:

self.label.text = nameString; 

該標籤在initWithFormat調用中顯示應在%@處插入的值。注意:我也嘗試過使用stringWithFormat,並且遇到同樣的問題。

謝謝。

回答

2

您的標籤太窄。假設它在IB中,打開IB並使標籤變寬。

+0

-_-,這是一個艱難的一週。謝謝一堆,但! – kaiserphellos 2012-07-26 19:35:48

+0

我每隔一週都會犯這個錯誤.... – 2012-07-26 19:39:41

0

省略號表示您的字符串對於容器來說太長。嘗試將長度屬性更改爲更大。