Structify 将 Swift 结构转换为 Objc 类的工具开源项目

我要开发同款
匿名用户2021年10月28日
239阅读

技术信息

开源地址
https://github.com/arturdev/Structify
授权协议
MIT

作品详情

Structify旨在让你更轻松将Swift结构转换为Objective-C类,开发者无需手动将结构转换为类,反之亦然。

不使用StructifystructUser{letaddress:Strigletcompay:Strigletemail:Strigletame:Strigletphoe:Strigletuid:Strigletuserame:Strigletwebsite:Strigletbirthday:Date}classRLMUser:Object{@objcdyamicvaraddress:Strig=""@objcdyamicvarcompay:Strig=""@objcdyamicvaremail:Strig=""@objcdyamicvarame:Strig=""@objcdyamicvarphoe:Strig=""@objcdyamicvaruid:Strig=""@objcdyamicvaruserame:Strig=""@objcdyamicvarwebsite:Strig=""@objcdyamicvarbirthday:Date=Date()overrideclassfucprimaryKey()->Strig?{retur"uid"}}extesioRLMUser{fuctoStruct()->User{returUser(address:address,compay:compay,email:email,ame:ame,phoe:phoe,uid:uid,userame:userame,website:website,birthday:birthday)}}extesioUser{fuctoObject()->RLMUser{returRLMUser.build{objectiobject.uid=uidobject.address=addressobject.compay=compayobject.email=emailobject.ame=ameobject.phoe=phoeobject.userame=userameobject.website=websiteobject.birthday=birthday}}}乍一看似乎很方便的方法。但是如果你的结构不是那么小并且有更多的属性呢?如果你有太多类似User这样的结构时怎么办?如果您想在开发过程中为现有结构添加更多属性怎么办?

使用 StructifystructUser{varaddress:Strig=""varcompay:Strig=""varemail:Strig=""varame:Strig=""varphoe:Strig=""varuid:Strig=""varuserame:Strig=""varwebsite:Strig=""varbirthday:Date=Date()}classRLMUser:Object{//youolysettheprimaryKeyasusualoverrideclassfucprimaryKey()->Strig?{retur"uid"}}extesioRLMUser:StructCovertible{typealiasStructType=User}extesioUser:ObjectCovertible{typealiasClassType=RLMUser}你唯一需要做的就是让你的结构符合ObjectCovertible协议并创建一个Objective-C对类并符合StructCovertible协议。要求iOS8.0+Xcode10.+Swift4.2+安装Structify可通过 CocoaPods获得。要安装它,只需将以下行添加到您的Podfile中:

pod'Structify'

 

功能介绍

Structify 旨在让你更轻松将 Swift 结构转换为 Objective-C 类,开发者无需手动将结构转换为类,反之亦然。 不使用 Structify struct User {
...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论