美文网首页
NS_SWIFT_NAME与@objc区别与用途

NS_SWIFT_NAME与@objc区别与用途

作者: ksnowlv | 来源:发表于2018-07-06 16:57 被阅读126次

    NS_SWIFT_NAME与@objc有什么区别和用途呢?

    • NS_SWIFT_NAME:在objective-c中,重新命名在swift中的名称
    • @objc 在swift中,重新命名在objective-c中的名称。

    示例1如下:

    typedef NS_ENUM(NSUInteger, NetErrorType) {
        NetErrorTypeNone NS_SWIFT_NAME(None),
        NetErrorTypeNetError NS_SWIFT_NAME(NetError) ,
    };
    
    @interface YKBaseUIViewController : UIViewController 
    - (void)handleConnectItem:(YKConnectionItem *)connectionItem withParser:(YKJsonParser *)parser NS_SWIFT_NAME(handleNetResponse(connectionItem:parser:));
    
    @end
    
    

    在swift中调用如下:

    NetErrorType.None
    let baseUIViewController : YKBaseUIViewController = YKBaseUIViewController()
    baseUIViewController.handleNetResponse(connectionItem: nil, parser: nil)
    

    示例2如下:

    @objc(showMyAge: address:)
    public static func showMyInfo(age: Int, address: String) -> String{
            return "ksnowlv"
    }
    

    在objective-c中调用如下:

    NSString *string =  [YKDevice showMyAge:0 address:@"abc"];
    

    相关文章

      网友评论

          本文标题:NS_SWIFT_NAME与@objc区别与用途

          本文链接:https://www.haomeiwen.com/subject/cqhbuftx.html