GCF を見つけようとすると、iOS アプリがクラッシュすることがあります。それはいつも起こるわけではありません。たまにしか。
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];
}
}