Objective c 当访问我的NSMutableArray时,我会收到一条错误消息,如;无法初始化类型为';int';具有类型为';id'&引用;
我有下面的函数,我正在努力将y值作为int值输出Objective c 当访问我的NSMutableArray时,我会收到一条错误消息,如;无法初始化类型为';int';具有类型为';id'&引用;,objective-c,Objective C,我有下面的函数,我正在努力将y值作为int值输出 + (NSMutableArray *) cleanPoints:(NSMutableArray *)pointsArray{ NSMutableArray *mutableArray = [NSMutableArray array]; for(int i = 0; i<pointsArray.count-1; i++){ CLog(@"pointsArray %@", pointsArray[i]); /// here
+ (NSMutableArray *) cleanPoints:(NSMutableArray *)pointsArray{
NSMutableArray *mutableArray = [NSMutableArray array];
for(int i = 0; i<pointsArray.count-1; i++){
CLog(@"pointsArray %@", pointsArray[i]); /// here it gives me the correct number, like 345
int y = (int)pointsArray[i]; //// here seems to be the problem
CLog(@"y = %d", y); ///// y is a weird number, like y = 384643392
if (y < 4 || y > -4){
y = 0;
}
//create Array
[mutableArray addObject:@(y)];
}
return mutableArray;
}
+(NSMutableArray*)清除点:(NSMutableArray*)点阵列{
NSMUTABLEARRY*MUTABLEARRY=[NSMUTABLEARRY];
对于(int i=0;i-4){
y=0;
}
//创建数组
[mutableArray addObject:@(y)];
}
返回可变数组;
}
如果从int y=(int)pointsArray[I]行中取出(int),则会出现错误“无法使用'id'类型的右值初始化'int'类型的变量”这一行没有意义:
int y = (int)pointsArray[i];
NSArray不可能包含int
值。它只能包含对象,在Objective-C中,int
不是对象
也许你是说
int y = [pointsArray[i] intValue];
(但我只是猜测该NSArray包含NSNumber对象;我无法知道,因为您没有提供任何有关这方面的信息)也许您也可以告诉我为什么它总是为零:int dist=点之间的距离(中间,左上角);int factor=450/dist;…由于某种原因,factor为零,而dist的值为350。如果您有新问题,请将其作为问题提问,而不是在评论中“偷窥”。