隐式转换非Objective-C指针类型' char *'到#NSString *' ARC不允许这样做

时间:2014-10-23 00:34:41

标签: nsstring char ios8 xcode6 nsmutablestring

对于以下代码行,我收到以下错误:

for (UILabel *label in labels) {
    label.text = label.tag - 100 > someMutableString.length ? "" : "*";
}

错误说明:

  

ARC不允许将非Objective-C指针类型'char *'隐式转换为'NSString *'

我的变量“someMutableString”的类型为NSMutableString。

如何解决我的具体情况?

2 个答案:

答案 0 :(得分:9)

问题是你的字符串文字是"""*",它们都是C风格的字符串(const char*)。因此,作业右侧的类型也是const char*。您正在分配text的{​​{1}}属性,该属性需要UILabel

改为使用NSString@""

答案 1 :(得分:1)

char *text = "a"

NSString *message = [NSString stringWithFormat:@"%s",text];

干杯:)