【问题标题】:How to change the text of a button to the data of a NSString?如何将按钮的文本更改为 NSString 的数据?
【发布时间】:2013-11-24 11:24:41
【问题描述】:

我正在 Xcode 5 中制作一个应用程序,但我被卡住了,因为我想将我的按钮 (Answer1) 的文本更改为我的 NSString (OAnswer1) 的文本,这就是我得到的互联网: 以下是我的代码:

[Answer1 setTitle:@"Text goes here" forState:UIControlStateNormal];

当我把它改成

[Answer1 setTitle:@"%@", OAnswer1 forState:UIControlStateNormal];

它有错误,

谢谢

【问题讨论】:

    标签: ios objective-c nsstring


    【解决方案1】:

    试试这个:

    NSString *strTemp = [NSString stringWithFormate:@"%@",OAnswer1];
    
    [Answer1 setTitle:strTemp forState:UIControlStateNormal];
    

    【讨论】:

    • 谢谢user1505866,你真的帮了大忙,我会在11分钟内排除你的答案!
    • 这里完全不需要使用stringWithFormat
    • 是的,你可以直接放OAnswer1而不是@"%@"。
    【解决方案2】:

    你必须在setTitle参数中传递一个NSString对象。

    [Answer1 setTitle:[NSString stringWithFormat:@"%@",OAnswer1] forState:UIControlStateNormal];
    

    进一步研究的苹果开发者链接: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIButton_Class/UIButton/UIButton.html#//apple_ref/occ/instm/UIButton/setTitle:forState:

    编辑: 我猜用户想要设置一些自定义的字符串组合,所以我使用了[NSString stringWithFormat:]

    【讨论】:

    • 这里完全不需要使用stringWithFormat
    • Martin R 我同意你的观点,这里不需要使用"[NSString stringwithFormat:@"%@",OAnswer1]",只需要使用'OAnswer1'
    • 你可以看到我的EDIT:。我使用它的原因。 @DivyaBhalodiya
    • 这里用户对其查询非常直截了当,他清楚地说“OAnswer1”是 NSString。
    【解决方案3】:

    或者简单地说(如果你知道OAnswer1 是一个字符串)

    [Answer1 setTitle:OAnswer1 forState:UIControlStateNormal];
    

    而且你真的不应该将变量名大写...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-07
      • 2017-09-07
      • 2012-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多