0

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];
    }
 }
4

1 に答える 1