@objc关键字的使用场景

@objc关键字的使用场景
1、protocol定义之前使用@objc,那么在protocol中可以定义optional方法。但是这个protocol只能由class类型来实现,且实现的方法前面也需要加上@objc
2、selector其实是OC runtime的概念,如果你的selector对应的方法只是在Swift中可见的话(也就是他是一个Swift中的private方法),在调用这个selector时你会遇到一个unrecognized selector错误。正确的做法是在private前面加上@objc关键字,这样运行的时候就能找到对应的方法了。

你可能感兴趣的:(@objc关键字的使用场景)