swift中选择器的概念是什么?

swift中选择器的概念是什么?,swift,selector,nstimer,nsobject,Swift,Selector,Nstimer,Nsobject,我见过需要参数选择器的对象。理解选择器的一般概念是什么 选择选择器的一个示例是NSTimer,我选择的选择器是一个递增计数器的函数 timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: ("incrementCounter"), userInfo: nil, repeats: true) 选择器是一种自定义方法,当计时器触发时,在目标指定的类中调用该方法。如果该方法假定采用参数,则每个参数都用冒号

我见过需要参数选择器的对象。理解选择器的一般概念是什么

选择选择器的一个示例是NSTimer,我选择的选择器是一个递增计数器的函数

  timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: ("incrementCounter"), userInfo: nil, repeats: true)
选择器是一种自定义方法,当计时器触发时,在目标指定的类中调用该方法。如果该方法假定采用参数,则每个参数都用冒号表示

在Swift中,结构选择器响应协议StringLiteralConverable, 因此,由于编译器知道示例中的类型,文本字符串被隐式转换为选择器实例,不需要选择器初始值设定项

PS:选择器字符串周围的括号也不需要。

选择器是一种自定义方法,当计时器触发时,在目标指定的类中调用该方法。如果该方法假定采用参数,则每个参数都用冒号表示

在Swift中,结构选择器响应协议StringLiteralConverable, 因此,由于编译器知道示例中的类型,文本字符串被隐式转换为选择器实例,不需要选择器初始值设定项


PS:选择器字符串周围的括号也不需要。

选择器是Objective-C中的一个概念,表示要发送的消息,即在运行时动态调用的方法。当您通过选择器设置要执行的操作时,您知道将发送哪条消息,但不一定知道其参数是什么。有时甚至不知道它将被发送到哪个对象

可以考虑选择器与闭包/块的相对性,因为它们允许您打包一些代码,以便稍后调用并将其交给其他函数。但是,闭包必须在编译时指定/解析,因此它的动态性不如选择器

选择器适用于松散绑定的概念,如控制操作。您可以使用选择器在Interface Builder中选择按钮单击时应调用的方法,即使您的应用程序实际上没有在IB中运行;或者你可以说这个按钮应该调用粘贴:在任何文本视图上都有键盘焦点,不知道什么时候你设置了哪个视图,因为键盘焦点一直在变化

ObjC中的选择器早于块/闭包,因此从历史上看,选择器是告诉API稍后调用此方法等事情的主要方式,这就是为什么在整个Cocoa中都可以找到它们,用于计时器、数组排序和撤消等模式,即使这些模式可能会从闭包/块的紧密绑定中受益更多


有关在Swift中使用选择器的详细信息,请参阅将Swift与Cocoa和Objective-C和/或一起使用。有关选择器和Cocoa的更多信息,请参阅。

选择器是Objective-C中的一个概念,表示要发送的消息,即在运行时动态调用的方法。当您通过选择器设置要执行的操作时,您知道将发送哪条消息,但不一定知道其参数是什么。有时甚至不知道它将被发送到哪个对象

可以考虑选择器与闭包/块的相对性,因为它们允许您打包一些代码,以便稍后调用并将其交给其他函数。但是,闭包必须在编译时指定/解析,因此它的动态性不如选择器

选择器适用于松散绑定的概念,如控制操作。您可以使用选择器在Interface Builder中选择按钮单击时应调用的方法,即使您的应用程序实际上没有在IB中运行;或者你可以说这个按钮应该调用粘贴:在任何文本视图上都有键盘焦点,不知道什么时候你设置了哪个视图,因为键盘焦点一直在变化

ObjC中的选择器早于块/闭包,因此从历史上看,选择器是告诉API稍后调用此方法等事情的主要方式,这就是为什么在整个Cocoa中都可以找到它们,用于计时器、数组排序和撤消等模式,即使这些模式可能会从闭包/块的紧密绑定中受益更多

有关在Swift中使用选择器的详细信息,请参阅将Swift与Cocoa和Objective-C和/或一起使用。有关选择器和Cocoa的更多信息,请参阅