ksnowlv

回顾过去,总结以往;立足现在,铭记当下;技术为主,笔记而已.

Swiftframework方法如何导出

| Comments

swift framework中的方法如何在objective-c中调用呢?

类或属性加@objc public

stackoverflow的解答

To access a swift class in objc, that is not inherited from NSObject you need to: @objc public class VeediUtils

A Swift class or protocol must be marked with the @objc attribute to be accessible and usable in Objective-C. This attribute tells the compiler that this piece of Swift code can be accessed from Objective-C. If your Swift class is a descendant of an Objective-C class, the compiler automatically adds the @objc attribute for you.

https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html

示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@objc public class YKFile: NSObject {

    @objc public var fileName : String?

    @objc public var myData : Data?

    @objc public func myFilePath() -> String {
        return "ksnowlv"
    }

    @objc public static func name() -> String {
        return "ksnowlv"
    }
}

Comments

comments powered by Disqus
Included file 'custom/after_footer.html' not found in _includes directory