我的iOS应用有时会尝试查找GCF时崩溃。它不会一直发生。只是有时候。
这是GCF功能:
+(NSNumber *)getGCFOf: (NSNumber *)frstNumber and: (NSNumber *)scndNumber {
float t, r;
//Convert input to floats
float frstNumberFloat = frstNumber.floatValue; //EXC_BAD_ACESS(code=2 address=0xbf7fffdc)
float scndNumberFloat = scndNumber.floatValue;
if (frstNumberFloat < scndNumberFloat){
t = frstNumberFloat;
frstNumberFloat = scndNumberFloat;
scndNumberFloat = t;
}
r = fmodf(frstNumberFloat, scndNumberFloat);
if (r == 0) {
NSNumber *scndNumberNS = [NSNumber numberWithFloat:scndNumberFloat];
return scndNumberNS;
}
else {
NSNumber *inputOne = [NSNumber numberWithFloat: scndNumberFloat];
NSNumber *inputTwo = [NSNumber numberWithFloat: r];
return [Fractions getGCFOf: inputOne and: inputTwo];
}
}
答案 0 :(得分:0)
这可能有助于查找错误:
EXC_BAD_ACCESS code = 2表示指针已损坏,因为:
a)从未初始化。
b)已经写完了。
c)可能是错误输入的对象的一部分。