2012-02-27 10 views
0

私はiPhoneの電卓をコーディングしていますが、質問があります。 "a"、 "b"、 "x"という3つの可変ボタンを追加したいと思います。この電卓には、「T1」、「T2」、「T3」という3つのテストボタンがあります。変数、a、b、およびxは、各テストボタンごとに独自の値を持ちます。例えば各ボタンのNSDictionaryで異なる変数を返す方法は?

  • = 1
  • B = 2
  • X = 3

T1

  • = 4
  • B = 5
  • X = 6

T2

  • = 7
  • B = 8

T3

  • X = 9

ユーザが任意のテストボタンをタッチしていない場合、デフォルト値がすべてゼロです。ユーザーがテストボタンをタッチすると、値が適用されます。私のコードは以下の通りです。


    - (NSDictionary *)testVariableValue:(NSString *)test 
    { 
     NSArray *key = [NSArray arrayWithObjects:@"a", @"b", @"x", nil]; 
     NSMutableArray *object = nil; 

     if([test isEqualToString:@"T1"] || [test isEqualToString:@"T2"] || [test isEqualToString:@"T3"]) 
     { 
      if([test isEqualToString:@"T1"]) 
       object = [NSMutableArray arrayWithObjects:@"1", @"2", @"3", nil]; 
      else if([test isEqualToString:@"T2"]) 
       object = [NSMutableArray arrayWithObjects:@"4", @"5", @"6", nil]; 
      else if([test isEqualToString:@"T3"]) 
       object = [NSMutableArray arrayWithObjects:@"7", @"8", @"9", nil]; 
      else 
       object = [NSMutableArray arrayWithObjects:@"0", @"0", @"0", nil]; 

      _dictionaryVariables = [NSDictionary dictionaryWithObjects:object forKeys:key]; 
      [_programStack removeLastObject]; 
     } 
     return _dictionaryVariables; 
    } 

しかし、正しく動作しませんでした。私がテストボタンに触れたとき、それは大丈夫だった。しかし、テストボタンなしでa、b、またはxボタンをタッチしてすべてのゼロ値を設定した後、テストボタンは機能しませんでした。変数のゼロをすべて設定した後に、各テストボタンの値を設定する方法はわかりません。

私の英語を許してください。これを読んでいただきありがとうございました!ここで

+0

「テストボタンなしでa、b、またはxボタンをタッチした後」 - これらのボタンを押すと、どのようなコードが呼び出されますか? – MaxGabriel

答えて

0

は、私がどうなるのかです:あなたのヘッダファイル(.h)で

、でこれを置く:実装(.M)ファイルで

@property (nonatomic, strong) NSInteger aValue; 
@property (nonatomic, strong) NSInteger bValue; 
@property (nonatomic, strong) NSInteger xValue; 

//Define new methods 
-(IBAction)changeValuesT1:(id)sender; 
-(IBAction)changeValuesT2:(id)sender; 
-(IBAction)changeValuesT3:(id)sender; 

、でこれを置く:

//changeValues method body 
-(IBAction)changeValuesT1:(id)sender{ 

    self.aValue = 1; 
    self.bValue = 2; 
    self.xValue = 3; 

} 
-(IBAction)changeValuesT2:(id)sender{ 

    self.aValue = 4; 
    self.bValue = 5; 
    self.xValue = 6; 

} 
-(IBAction)changeValuesT3:(id)sender{ 

    self.aValue = 7; 
    self.bValue = 8; 
    self.xValue = 9; 

} 

//viewDidLoad 

self.aValue = 0; 
self.bValue = 0; 
self.xValue = 0; 

これが役立ちますように!

関連する問題