2016-11-22 74 views
0

我在Swift中很難實現NSMenuItem的操作。通常情況下,要實現在Objective-C這樣的操作:在Swift中實現響應者操作

- (void) asdf:(id)sender 

這工作完全正常,像這樣在第一響應者建立行動後:

user defined first responder

然而,重寫後我在斯威夫特視圖控制器,以下新方法似乎並沒有被稱爲:

func asdf(sender: AnyObject?) 

它似乎沒有工作,即使兩個Ø bj-C和Swift版本適用於相同的視圖控制器子類。

回答

1

在雨燕3.0你將它定義爲:

func asdf(_ sender: Any) 

爲什麼?

如果使用_,你可以調用函數時下降參數名,所以現在你可以這樣調用它:

object.asdf(object) 

相反的:

object.asdf(sender: object) 

而且,隨着斯威夫特你會在此上下文中使用Any而不是AnyObject。你可以在這些here之間找到更多的區別。