이 루프가 무슨 문제인지 정확히 모르겠지만 실행할 때마다 SIGABRT가 계속 나타납니다. 로그에 따르면 루프의 끝 부분에있는 NSMutable 배열에 NSNumber를 추가하려고하면 문제가 발생합니다. 분명히 초등 오류를 만들었지 만 문제가 무엇인지 잘 모르겠습니다.문제 루프에서 NSMutableArray에 추가
NSArray *toArray = [ourDictionary objectForKey:toString];
NSMutableArray *allValuesMArray = [[NSMutableArray alloc] init];
while (done == NO)
{
if (i == 10)
done = YES;
/*
*The job here is to multiply these three numbers together and store the
*product in the mutable array. It tells me NSObject did not recognize selector
*and then crashes.
*original and multiplyFrom are always the same value, and multiplyTo is updated
*from an array I made above from a p-list.
*I'm hoping I didn't make a ton of rookie mistakes here, but I'm new to dealing with
*NSMutableArray and such.
*/
NSNumber *original = [NSNumber numberWithDouble:convertThis];
NSNumber *multiplyFrom = [NSNumber numberWithDouble:multiply];
NSNumber *multiplyTo = [NSNumber numberWithDouble:[[toArray objectAtIndex:i] doubleValue]];
NSNumber *product = [[NSNumber alloc] init];
product = [NSNumber numberWithDouble:([original doubleValue] *
[multiplyFrom doubleValue] *
[multiplyTo doubleValue])];
[allValuesMArray addObject:product];
//This line ^^^ causes crash
i++;
}
NSArray *returnThisArray = allValuesMArray;
[allValuesMArray autorelease];
return returnThisArray;
여기에 로그 기록을 추가 할 수 있습니까? – Sarah
더 많은 코드, 특히'allValuesMArray'의 생성을 보여주십시오. 또한'[product release]'를 제거하면 나중에 충돌이 발생할 것입니다. 그리고 마지막으로, BOOL 타입에 대한 적절한 상수는'TRUE' /'FALSE'가 아닌'YES' /'NO'입니다. –
아직 충분하지 않다면 더 많은 것을 보여주는 코드를 편집했습니다 당신이 볼 필요가있는 다른 것을 알려주십시오. 루프 위의 모든 것이 잘 작동 할 것이고, 내가 원하는 것을 얻는 최선의 방법을 정확히 모르겠습니다. 이 방법의 핵심은 toArray에서 숫자 목록을 읽고, 제품을 계산하고, 각 제품을 새 배열에 저장 한 다음 반환하고 p 목록에 작성하는 것입니다. – Justin