swift中使用Selector經(jīng)常要在方法前面添加@objc宗挥,除了默認(rèn)的@objc稳衬,其實(shí)我們還可以添加自己制定的swift中調(diào)用的函數(shù)名
@objc(pushToControllerName:params:)
class func pushToController(_ name:String,params:[String:Any]) {
print(params);
}
@objc中重新設(shè)置了調(diào)用這個(gè)方法的名稱嗓奢,在OC文件中必須使用下面的方法調(diào)用
[ZJPushRouterTool pushToControllerName:@"PushViewController" params:@{@"name":@"zhang"}];
只添加@objc 關(guān)鍵字不用修改對(duì)應(yīng)的方法調(diào)用名稱
@objc class func pushToController(_ name:String,params:[String:Any]) {
print(params);
}
//調(diào)用
[ZJPushRouterTool pushToController:@"PushViewController" params:@{@"name":@"zhang"}];
在OC文件中使用 NS_SWIFT_NAME()關(guān)鍵字來重新定義在swift中使用的方法名;
+(instancetype)shareInstance NS_SWIFT_NAME(default());
//在swift文件中調(diào)用
Class.default()
//如果不重新制定的話 還是使用Class.shareInstance()
@objc和NS_SWIFT_NAME關(guān)鍵字的作用
- NS_SWIFT_NAME:在objective-c中掉蔬,重新命名在swift中的名稱
- @objc 在swift中巧号,重新命名在objective-c中的名稱含衔。