问题
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.
来源:https://stackoverflow.com/questions/26519429/implicit-conversion-of-a-non-objective-c-pointer-type-char-to-nsstring-i