私は約 1 週間前に Objective-C プログラミングを開始し、関数に渡された文字列の配列から新しい文字列を作成することに行き詰まっています。私はこれを徹底的に調査しましたが、このエラーをスローせずにstringByAppendingString
1回使用できる理由を理解できないようです( で確認)が、2回目は使用できません:NSLog
ご覧いただきありがとうございます。
2012-06-29 20:46:35.761 Calculator[32883:f803] -[__NSCFNumber stringByAppendingString:]: インスタンス 0x6e43d50 に送信された認識されないセレクター
2012-06-29 20:46:35.763 Calculator[32883:f803] *キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。理由: '-[__NSCFNumber stringByAppendingString:]: 認識されないセレクターがインスタンス 0x6e43d50 に送信されました'
+ (NSString *)descriptionOfTopOfStack:(NSMutableArray *)stack
{
NSString *result;
NSString *displayString = [[NSString alloc]init];
id topOfStack = [stack lastObject];
if (topOfStack) [stack removeLastObject];
if ([self isNoOperandOperation:topOfStack]) {
displayString = [displayString stringByAppendingString:topOfStack];
result = displayString;
}
else if ([self isOperation:topOfStack]){
id nextInStack = [stack lastObject];
if (topOfStack) [stack removeLastObject];
displayString = [displayString stringByAppendingString:nextInStack];
displayString = [displayString stringByAppendingString:topOfStack];
result = displayString;