我有C
方法:
·H
NSString *NSStringFromMKMapPoint(MKMapPoint mapPoint);
的.m
NSString *NSStringFromMKMapPoint(MKMapPoint mapPoint) {
return [NSString stringWithFormat:@"%i,%i", (int)mapPoint.x, (int)mapPoint.y];
}
尝试使用返回值设置NSString,如下所示:
NSString *tilePointString = NSStringFromMKMapPoint(tilePoint);
给了我这个错误:
' int'隐式转换到#NSString *'不允许使用ARC
答案 0 :(得分:1)
听起来您已经#include
或#import
未能在您调用它的文件中声明方法的头文件。如果没有函数声明,C(并且可能是Objective-C)将默认为int
作为返回类型。这可以解释你在这一行上的错误:
NSString *tilePointString = NSStringFromMKMapPoint(tilePoint);
我认为这里的编译器假定返回类型为int
,然后抱怨它无法在作业中将int
转换为NSString*
。
因此,请检查您正在调用此函数的文件,并确保已导入声明该函数的头文件。