Почему NSMutablearray продолжает возвращать нуль?

Я генерирую случайное уравнение, скажем, как 2*3+4..... и использую DDMathparser для его оценки. Здесь у меня есть метод класса, который должен возвращать случайное уравнение (хранящееся внутри изменяемого массива), только если оно вычисляется как целое число. однако он продолжает возвращать ноль, и я не могу понять, почему. Пожалуйста, помогите мне!

#import "Equation.h"
#import "DDMathParser.h"

@implementation Equation
-(NSMutableArray*)randEquation{
    NSMutableArray* usableEquation=[[NSMutableArray alloc]init];
    while(1){
    NSArray *nums = @[@"1", @"2", @"3", @"4", @"5",@"6",@"7",@"8",@"9"];
    unsigned index1=arc4random()%9;
    NSString* num = [NSString stringWithFormat:@"%@", [nums objectAtIndex:index1]];
    NSArray *symbols = @[@"+", @"-", @"*", @"/"];
    unsigned index=arc4random()%4;
    NSString* symb = [NSString stringWithFormat:@"%@", [symbols objectAtIndex:index]];
        NSMutableArray *arrayOfSymbolsAndNumbers = [[NSMutableArray alloc] init];
        for( int i=0;i<=10;i++){
            if (i%2==0) {
                [arrayOfSymbolsAndNumbers addObject:num];
            }
            else{
                [arrayOfSymbolsAndNumbers addObject:symb];
            }

        }
        NSMutableString *stringOfSymbolsAndNumbers=[[NSMutableString alloc]init];
        for (NSObject * obj in arrayOfSymbolsAndNumbers)
        {
            [stringOfSymbolsAndNumbers appendString:[obj description]];


        }
        usableEquation=arrayOfSymbolsAndNumbers;
        NSNumber *result=[stringOfSymbolsAndNumbers numberByEvaluatingString];
        float resultFloat = [result floatValue];
        float checker=resultFloat;
        if (floor(checker)==checker) {
            break;
        }
        else{
            continue;
        }
    }
    return usableEquation;
}

@end

1 ответ

NSLog(@"Содержимое массива%@",[уравнение randEquation]);

Исходя из вашего кода, для этого журнала, чтобы вывести The content of array is(null) Значит это equation ноль Ваш randEquation (хотя и неэффективно) выглядит нормально, проблема в том, что вы не создали equation экземпляр при запуске оператора журнала.

Другие вопросы по тегам