我編程方式添加到UITapGestureRecognizer我的觀點一個選擇:參數傳遞到Swift3
let gesture = UITapGestureRecognizer(target: self, action: #selector(self.handleTap(modelObj:myModelObj)))
self.imageView.addGestureRecognizer(gesture)
func handleTap(modelObj: Model) {
// Doing stuff with model object here
}
我遇到的是「的‘#selector’參數不是指一個「@Objc的第一個問題「方法,屬性,或初始化
酷,所以我加了@objc到handleTap簽名:
@objc func handleTap(modelObj: Model) {
// Doing stuff with model object here
}
現在我得到的錯誤「方法不能被標記@objc因爲TY參數pe不能在Objective-C中表示。
這只是一個建築物地圖的圖像,其中一些圖像指示了興趣點的位置。當用戶點擊其中一個引腳時,我想知道他們感興趣的哪個點,並且我有一個模型對象來描述這些興趣點。我使用這個模型對象在地圖上給出了它的座標,因此我認爲將對象發送到手勢處理程序會很容易。
另一個功能時無法傳遞值那樣的選擇。爲什麼你不能將這個值保存在一個實例變量中並從選擇器方法訪問它? –
http://stackoverflow.com/questions/35635595/sending-a-parameter-argument-to-function-through-uitapgesturerecognizer-selector可能的重複。 –