2012-04-29 5 views
0

私は、スタンフォードクラスCS193P、iPhoneプログラミングのFall 2010バージョンを手に入れています。課題2では、課題1で作成された電卓アプリを改良しています。私はほぼ完成しているようですが、インターフェイス上にある変数(これらの目的では「x」)を押すとアプリケーションがクラッシュします。NSSetにオブジェクトを追加しようとするとiPhone電卓アプリがクラッシュする

限られたデバッグスキルを使用して、問題を追跡することができました。問題はメソッド "(NSSet)variablesInExpression:(id)anExpression"にあります。

+ (NSSet *)variablesInExpression:(id)anExpression 
{ 
NSMutableSet *setOfVariables = [[NSSet alloc] init]; 
for (NSString *str in anExpression) { 
    if ([str hasPrefix:VARIABLE_PREFIX]) { 
     [setOfVariables addObject:str]; 
    } 
} 
[setOfVariables autorelease]; 
return setOfVariables; 
} 

私はライン

[setOfVariables addObject:str]; 

アプリのクラッシュを取得。私は数時間それを把握しようとしてきました、助けてください! 'anExpression'の値のリスト全体を見る方法はありますか?

答えて

1

あなたは不変NSSetクラスのインスタンスを作成して変更可能なセットとして、あなたの変数を宣言しますが - あなたはNSMutableSetインスタンスを作成する必要があります。

NSMutableSet *setOfVariables = [[NSMutableSet alloc] init]; 
+0

大きなOOPの失態がありますメールで送信!ありがとうございました! – 23ChrisChen

関連する問題