2016-07-12 45 views
1

我想知道是否可以用swipe改變開關索引?我正在使用gontovnik的DGRunkeeperSwitch庫。實施後,它看起來像這樣:用swipe改變開關索引

enter image description here

它使用的觀點爲它工作。我試圖以編程方式更改它的索引後刷卡。我試了一下這樣的,它包含了我的swipeGesture代碼和行應改變index

let leftSwipe = UISwipeGestureRecognizer(target: self, action: "respond:") 
leftSwipe.direction = .Left 
view.addGestureRecognizer(leftSwipe) 

let rightSwipe = UISwipeGestureRecognizer(target: self, action: "respond:") 
leftSwipe.direction = .Right 
view.addGestureRecognizer(rightSwipe) 

func respond(sender: DGRunkeeperSwitch!, gesture: UIGestureRecognizer){ 
     if let swipeGesture = gesture as? UISwipeGestureRecognizer{ 
      switch swipeGesture.direction{ 
      case UISwipeGestureRecognizerDirection.Left: 
       sender.selectedIndex == 0 

      case UISwipeGestureRecognizerDirection.Right: 
       sender.selectedIndex == 1 


      default: 
       break 

      } 
     } 

} 

但它給我的信號SGABRT錯誤

「無法識別的選擇發送到實例0x7fd788536ad0」

我也嘗試刷卡更改默認UISwitch的值,其工作是這樣的:

mySwitch.on == true 

我做錯了什麼,你們能給我正確的方向嗎?我認爲我在強迫一些東西,但我不知道是什麼。

+0

它扔哪條線路上 – Shubhank

+0

錯誤不知道是因爲它引導我的appDelegate。 –

+0

在你的代碼中添加一個異常斷點 – Shubhank

回答

0

respond:不是具有2個參數的函數的正確簽名。

您應該使用#selector(...)定義操作,大概就像#selector(YourClass.respond(_:gesture:))

+0

它將我引向exc_bad_access錯誤。這是否意味着它試圖將消息發送到無法執行該消息的內存塊,或者對象未初始化? –