0
私はNSMutabelArrayを持っており、その中にいくつか追加したいと思います。これを使って関数を呼び出すことでこれを行い、計算を行う必要のある項目を持つ部分配列を作成します。NSArrayのNSDecimalNumbersを別のNSArrayに置き換えると、エラーが発生する
- (NSDecimalNumber *)calculate:(NSMutableArray *)arrayToCalculate {
while ([arrayToCalculate containsObject:(@"+")]) {
NSUInteger signeLocation = [arrayToCalculate indexOfObject:(@"+")];
[arrayToCalculate replaceObjectAtIndex:(signeLocation-1)
withObject:([[arrayToCalculate objectAtIndex:(signeLocation-1)]
decimalNumberByAdding:[arrayToCalculate objectAtIndex:(signeLocation+1)]])];
[arrayToCalculate removeObjectsAtIndexes:
[NSIndexSet indexSetWithIndexesInRange:NSMakeRange((signeLocation), 2)]];
}
return [arrayToCalculate lastObject];
}
私はでarrayToCalculateを初期化:
NSMutableArray *subArray =
[inputArray subarrayWithRange:(rangeOfCalculationItems)];
私はそれがクラッシュするこのコードを実行するたびに。 NSMutableArrayでサブアレイを使用してNSMutableArrayとして初期化しても、メッセージがNSArrayを返すときにも初期化されましたが、どのように修正できるか、それとも問題であるかはわかりません。
クラッシュとは何ですか? – Paulw11
私はプログラムを実行するとmain.fileのreturn UIApplicationMainによってsignal SIGABRTと表示されます。ステップバイステップに進むと、[arrayToCalculate replaceObjectAtIndex:(...)]命令での動作が停止します。 –