2011-11-09 30 views
0

這是我爲我的類當前的代碼...NSStepper不改變這兩個值

@interface Stat : NSObject { 
@private 
    IBOutlet NSTextField *value; 
    IBOutlet NSTextField *modValue; 
    IBOutlet NSStepper *stepper; 
} 

-(IBAction)setValue:(id)sender; 

@end 

@implementation Stat 

- (id)init 
{ 
    self = [super init]; 
    if (self) { 
     // Initialization code here. 
    } 

    return self; 
} 

- (void)dealloc 
{ 
    [super dealloc]; 
} 

-(IBAction)setValue:(id)sender 
{ 
    [value setIntValue:([sender intValue])]; 
    [modValue setIntValue:(round(([sender intValue]/2)-5))]; 
} 

@end 

步進,值文本框,並modValue文本框都被鏈接到其相應的變量,並且步進鏈接到setValue函數。但是,當我使用步進器時,只有modValue文本中的文本發生更改。誰能幫忙?如果您需要更多的代碼/信息,我可以提供。

編輯:另外。如果你確實有解決方案,你能解釋一下嗎?我已經用Java和C#編寫了很長一段時間,但是Obj-C給了我一個挑戰。到目前爲止,我還是喜歡它。 :)

回答

0

編輯:它很可能是您的界面生成器中的一個網點沒有正確設置。檢查以確保IB中的兩個NSTextFields連接到Xcode中的正確插座。

+0

我沒有爲iOS開發。我正在開發OS X.我可能沒有說清楚。 – CharDev

+0

我想我已經設置好了。 編輯:http://i.imgur.com/GZcad.png – CharDev

+0

文本是否改爲正確的數字?使用NSLogs來確認變量的狀態。 NSLog(@「%i」,[sender intValue]);此外,刪除所有的網點,並重新連接,以確保。 –

0

根據該文檔,

「當該值改變時,步進發送UIControlEventValueChanged標誌到其目標(參見addTarget:動作:forControlEvents :)參考連續屬性信息的描述。關於值更改事件是否連續發送或用戶互動結束時發送。「

所以你設置你的UIStepper IBAction的狀態爲UIControlEventValueChanged