2012-07-12 73 views
0

我有這個UISwitch,我從故事板連接到我的控制器。Ios - 需要指導配置一個UISwtch切換元素

@property (weak, nonatomic) IBOutlet UISwitch *wantHelp; 

我所試圖做的是配置,以便當uiswitch的狀態已經改變了應用程序可以知道。

我看了看在線的例子,他們表現出與此類似:

-(IBAction)helpToggle:(id)sender 
{ 
    if (wantHelp.on) 
    { 
     NSLog(@"yes"); 
    } 
    else 
    { 
     NSLog(@"No"); 
    } 
} 

,但他們似乎是指不同的ID,如wantHelphelpToggle和許多的例子使用這種標題-(IBAction)helpToggle:(id)sender的但我很困惑什麼是「發件人」配置和什麼應該在我的情況。

感謝您的幫助,幫助我理解該怎麼做。

+0

我不能肯定如何配置helpToggle。我將這添加到我的.h文件 - (IBAction)wantHelp:(id)helpToggle; @property(弱,非原子)IBOutlet UISwitch * wantHelp;但我認爲它非常錯誤。 – GeekedOut 2012-07-12 21:29:14

回答

1

sender是真實發送消息的對象。如果你有你的UISwitch掛鉤發送helpToggle:動作到一個實現它的對象,sender將是一個指向交換機的指針。

如果你想看看自己,像下面這樣添加一行代碼:

`NSLog(@"sender is: %@", sender);` 
+0

謝謝,我真正想要的東西就像是一個監聽器,當交換機的值發生變化時會被觸發。但是,當我嘗試它時,這段代碼從未被觸發。你知道爲什麼嗎?或者如何設置它以便觸發? – GeekedOut 2012-07-12 21:25:29

+0

這正是它應該做的。我甚至在示例項目中試過你的代碼 - 工作正常。如果您在切換開關時沒有觸發您的操作,那麼您可能沒有將開關連接到目標和操作。假設您的'-helpToggle:'方法位於視圖控制器中,請在該控制器視圖的.xib(或故事板)中放置一個開關。然後控制 - 從開關拖動到視圖控制器,然後選擇'-helpToggle:'動作。注意:這與將交換機連接到您的視圖控制器的一個插座是分開的。 – Caleb 2012-07-12 21:35:37

+0

如何連接我的UISwitch以發送helpToggle: - 這就是我不知道的。 – GeekedOut 2012-07-12 21:36:12

1

每次你翻轉開關(wantHelp)時,調用方法helpToggle。當helpToggle被調用時,if語句檢查條件是否成立,在這種情況下(wantHelp.on)。如果wantHelp打開,那麼調用if語句中的代碼,否則調用else語句。

至於發件人標籤,它允許將方法通信回交換機,我相信。

平時: 對象>方法

發信人: 對象>方法>回到對象

+0

@我是根。謝謝,但我不確定如何確保在交換機翻轉時調用代碼塊。任何想法我上面的代碼中有什麼錯誤?謝謝! – GeekedOut 2012-07-12 21:27:50