注册 登录
主题 : swift里面没有performSelector,有替代的函数吗
级别: 侠客
UID: 38762
精华: 0
发帖: 106
可可豆: 468 CB
威望: 443 点
在线时间: 296(时)
注册时间: 2010-11-18
最后登录: 2019-05-22
0 楼:  发表于: 2014-06-10 10:45    发自: Web Page
来源于 技术求助 分类

swift里面没有performSelector,有替代的函数吗   

rt~~

The performSelector: method and related selector-invoking methods are not imported in Swift because they are inherently unsafe.
级别: 天使

状态: 连续签到 - [7天]
UID: 5513
精华: 19
发帖: 90659
可可豆: 922081 CB
威望: 921946 点
在线时间: 5508(时)
注册时间: 2009-05-06
最后登录: 2016-08-30
1 楼:  发表于: 2014-06-10 11:13    发自: Web Page
Swift由于并非基于消息机制,所以本身没有selector这个十分灵活的机制,但是可以使用Cocoa Framework中所留下的一些selector,比如:


import UIKit
class MyViewController: UIViewController {
let myButton = UIButton(frame: CGRect(x: 0, y: 0, width: 100, height: 50))
init(nibName nibNameOrNil: String!, bundle nibBundleOrNil: NSBundle!) { 
    super.init(nibName: nibName, bundle: nibBundle) myButton.targetForAction("tappedButton:", withSender: self)
}
func tappedButton(sender: UIButton!) { println("tapped button")
} }



上述代码,"tappedButton:"就是一个selector,呵呵~
新浪围脖地址:http://t.sina.com.cn/1181389417
CPU Dasher for OS X: https://itunes.apple.com/cn/app/cpu-dasher/id1013487510?mt=12

级别: 侠客
UID: 38762
精华: 0
发帖: 106
可可豆: 468 CB
威望: 443 点
在线时间: 296(时)
注册时间: 2010-11-18
最后登录: 2019-05-22
2 楼:  发表于: 2014-06-10 15:19    发自: Web Page
引用
引用第1楼zenny_chen于2014-06-10 11:13发表的  :
Swift由于并非基于消息机制,所以本身没有selector这个十分灵活的机制,但是可以使用Cocoa Framework中所留下的一些selector,比如:

<pre class="brush:objc; toolbar: true; auto-links: false;">

import UIKit
.......

不一样,performSelector有延迟时间再触发的
级别: 新手上路
UID: 62305
精华: 0
发帖: 19
可可豆: 129 CB
威望: 155 点
在线时间: 271(时)
注册时间: 2011-04-07
最后登录: 2017-09-19
3 楼:  发表于: 2014-06-24 15:05    发自: Web Page
回1楼(zenny_chen) 的帖子
够2的,答非所问
清空我的评分动态本帖最近评分记录: 共1条评分记录
zenny_chen 可可豆 -5 2014-06-24 你是傻B吗?
隐藏评分记录
级别: 新手上路
UID: 329285
精华: 0
发帖: 49
可可豆: 115 CB
威望: 63 点
在线时间: 28(时)
注册时间: 2014-06-19
最后登录: 2014-07-07
4 楼:  发表于: 2014-06-24 16:22    发自: Web Page
这个 func performSelector(aSelector: Selector) -> AnyObject!
在 Swift 中被完全禁用掉了。目前没办法








级别: 天使

状态: 连续签到 - [7天]
UID: 5513
精华: 19
发帖: 90659
可可豆: 922081 CB
威望: 921946 点
在线时间: 5508(时)
注册时间: 2009-05-06
最后登录: 2016-08-30
5 楼:  发表于: 2014-06-24 17:04    发自: Web Page
Re:回1楼(zenny_chen) 的帖子
引用
引用第3楼junfei521于2014-06-24 15:05发表的 回1楼(zenny_chen) 的帖子 :
够2的,答非所问


呵呵,你这**狗屁不通,你自己好好看看文档,哪里能用类似performSelector的接口再来说吧。滚回去先给我好好看看文档!
你这种初学者居然在大师面前班门弄斧起来了,不知天高地厚~
新浪围脖地址:http://t.sina.com.cn/1181389417
CPU Dasher for OS X: https://itunes.apple.com/cn/app/cpu-dasher/id1013487510?mt=12

级别: 天使

状态: 连续签到 - [7天]
UID: 5513
精华: 19
发帖: 90659
可可豆: 922081 CB
威望: 921946 点
在线时间: 5508(时)
注册时间: 2009-05-06
最后登录: 2016-08-30
6 楼:  发表于: 2014-06-24 17:05    发自: Web Page
引用
引用第2楼furlxy于2014-06-10 15:19发表的  :

不一样,performSelector有延迟时间再触发的


对呀。所以说目前还不支持嘛。目前只有Cocoa Framework中的一些接口对应支持。

我上面已经说得很清楚了。Swift连selector这个概念都没引入,何来performSelector这个接口?Swift本身不是基于消息机制的,这点与ObjC不同,但是它为了要兼容ObjC所以提供了某些用字符串作为ObjC消息签名的方式进行通信。
[ 此帖被zenny_chen在2014-06-24 17:12重新编辑 ]

新浪围脖地址:http://t.sina.com.cn/1181389417
CPU Dasher for OS X: https://itunes.apple.com/cn/app/cpu-dasher/id1013487510?mt=12

级别: 新手上路
UID: 62305
精华: 0
发帖: 19
可可豆: 129 CB
威望: 155 点
在线时间: 271(时)
注册时间: 2011-04-07
最后登录: 2017-09-19
7 楼:  发表于: 2014-06-24 17:19    发自: Web Page
回 5楼(zenny_chen) 的帖子
我有办法时间延时3秒调用一个方法,你能么?
清空我的评分动态本帖最近评分记录: 共1条评分记录
zenny_chen 可可豆 -10 2014-06-24 话说屄,俺代码都放出来了还不快快出来受死?
隐藏评分记录
级别: 天使

状态: 连续签到 - [7天]
UID: 5513
精华: 19
发帖: 90659
可可豆: 922081 CB
威望: 921946 点
在线时间: 5508(时)
注册时间: 2009-05-06
最后登录: 2016-08-30
8 楼:  发表于: 2014-06-24 17:20    发自: Web Page
回 7楼(junfei521) 的帖子
      

当然可以~
新浪围脖地址:http://t.sina.com.cn/1181389417
CPU Dasher for OS X: https://itunes.apple.com/cn/app/cpu-dasher/id1013487510?mt=12

级别: 新手上路
UID: 62305
精华: 0
发帖: 19
可可豆: 129 CB
威望: 155 点
在线时间: 271(时)
注册时间: 2011-04-07
最后登录: 2017-09-19
9 楼:  发表于: 2014-06-24 17:23    发自: Web Page
回 8楼(zenny_chen) 的帖子
得了吧,上来回答一些官网说的话,会个p,傻x一个。拜拜
清空我的评分动态本帖最近评分记录: 共1条评分记录
zenny_chen 可可豆 -10 2014-06-24 拜拜,不送~
隐藏评分记录

CocoaChina社区转载内容已尽可能注明出处,如未能核实来源或转发内容图片有权利瑕疵的,请及时联系社区进行修改或删除【联系方式QQ : 3442093904 邮箱:support@cocoachina.com】文章内容为作者独立观点,不代表CocoaChina社区立场。版权归原作者所有,如申请授权请联系作者,因文章侵权CocoaChina社区不承担任何法律及连带责任。

描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部