2016-05-13 41 views
0

我需要繼承類,編譯器警告說「必須調用超類的指定初始值設定項」,但我找不到它們,我應該在哪裏尋找指定的初始值設定項?,我想知道在哪裏尋找他們獨立未來子類化的類。如何知道超類指定的初始值設定項?

代碼:從UIGestureRecognizer

import Foundation 
import UIKit 

class JBSOSLongGestureRecognizer: UILongPressGestureRecognizer { 

    init() { 

     super.init() 

     self.allowableMovement = 40 
     self.minimumPressDuration = 5 
     self.cancelsTouchesInView = false 
     self.numberOfTouchesRequired = 1 
    } 

} 
+0

你爲什麼回滾我的編輯?您的問題標題不清楚,我清理了您的帖子。 – JAL

+0

@JAL好吧,我自己修正了,關鍵不在於這個具體的案例或課程,而是要知道將來在哪裏尋找。 –

回答

4

UILongPressGestureRecognizer繼承。 UIGestureRecognizer的指定初始值爲public init(target: AnyObject?, action: Selector)

覆蓋init(target: AnyObject?, action: Selector)代替init()

我通過跳轉到的UILongPressGestureRecognizer定義中指定的初始化。我沒有在那裏看到一個初始化器,但我確實看到它是UIGestureRecognizer的一個子類。進入UIGestureRecognizer聲明顯示公共初始值設定項。

此信息也可在Apple API文檔中找到。該文檔將指定指定初始化程序旁邊的指定初始化程序。

UIGestureRecognizer Documentation

+0

如問題所述,我想知道除了這個具體情況之外,哪裏可以看到每個類指定的初始值設定項,您從哪裏得到指定的初始值設定項? –

+0

@JuanPabloBoeroAlvarez編輯了我的答案,以顯示我找到初始化程序的過程。 – JAL

+0

好的,讓它工作,檢查代碼,看看你的答案缺少什麼,謝謝。 –

0

UILongPressGestureRecognizerUIGestureRecognizer一個具體子類。因此,儘管您可以使用@JAL方法對其進行子類化,但它並不打算劃分子類。

在您的代碼中,似乎並沒有將任何功能添加到您的JBSOSLongGestureRecognizer,爲什麼不使用UILongPressGestureRecognizer並將其配置爲您想要的值?

相關問題