【发布时间】:2016-07-19 13:48:24
【问题描述】:
这是一个简单的学术而非真正的代码。
我想使用 performSelector 函数运行打印方法。但是如果我在操场上运行这段代码,就会抛出异常:
EXC_BAD_ACCESS(代码=EXC_I386_GPFLT)。
代码:
//: Playground - noun: a place where people can play
import UIKit
@objc(Foo)
class Foo: NSObject {
func timer() {
self.performSelector( #selector(Foo.print))
}
@objc func print() {
NSLog("print")
}
}
let instance = Foo()
instance.timer() // <-- EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
问题出在哪里?
【问题讨论】:
-
奇怪,它在 Playground 中崩溃,但在项目中有效。
标签: swift swift-playground performselector