Implicit conversion of a non-Objective-C pointer t

2019-07-04 08:06发布

问题:

For the following line of code I am getting the error below:

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

The error states:

Implicit conversion of a non-Objective-C pointer type 'char *' to 'NSString *' is disallowed with ARC

My variable "someMutableString" is of type NSMutableString.

How do I fix in my particular case?

回答1:

The problem is that your string literals are "" and "*" which are both C-style strings (const char*). So the type of the right hand side of the assignment is also const char*. You are assigning to the text property of a UILabel, which takes an NSString.

Use @"" and @"*" instead.