NSStructMapper
示例
要运行示例项目,请克隆存储库,然后先从 Example 目录中运行 pod install
。
用法
步骤 1: 创建相同的类
// Same property names along with interchangeable data types between swift and objc
// MARK: - Swift Address
struct Address {
var city: String?
var zipCode: String?
}
// MARK: - Swift Equivalent ObjC Address
@objc class NSAddress: NSObject {
var city: String?
var zipCode: String?
}
步骤 2: 遵守您的数据模型
// Conform your swift structs with Mappable
struct Contact: Mappable
// Conform your NSObjects with NSMappable
@objc class NSContact: NSObject, NSMappable
步骤 3: 实现方法
// Conform your swift structs with Mappable
struct Contact: Mappable {
// Your properties
// Write the following code in Mappable, result should be type of NSObject you want to convert in
func nsObject() throws -> Storable {
let result: NSContact = try conversionLogic()
return result
}
}
// Conform your NSObjects with NSMappable
@objc class NSContact: NSObject, NSMappable {
// Your properties
// Write the following code in NSMappable, result should be type of SwiftObject you want to convert in
func swiftObject() throws -> Mappable {
let result: Contact = try conversionLogic()
return result
}
}
步骤 4: 在此大快朵颐
// Convert your SwiftObject to NSObject
let nsContact: NSContact = try! contact.nsObject() as! NSContact
// Convert your NSObject to SwiftObject
let sob: Contact = try! nsContact.swiftObject() as! Contact
安装
NSStructMapper 通过 CocaoPods 提供。要安装它,只需将以下行添加到您的 Podfile 中。
pod 'NSStructMapper'
作者
许可证
NSStructMapper 以 MIT 许可证提供。有关更多信息,请参阅 LICENSE 文件。