Почему 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
экземпляр при запуске оператора журнала.