镜头进入Swift属性
发布时间:2020-12-14 05:28:44 所属栏目:百科 来源:网络整理
导读:有没有办法在 Swift中为类中的属性自动生成getter / setter函数对? Haskell镜头的一些东西. 我已经能够手动执行以下操作: class PropertyLensU,T { let getter: U - T let setter: (U,T) - () init(getter: (U - T),setter: ((U,T) - ())) { self.getter =
有没有办法在
Swift中为类中的属性自动生成getter / setter函数对? Haskell镜头的一些东西.
我已经能够手动执行以下操作: class PropertyLens<U,T> { let getter: U -> T let setter: (U,T) -> () init(getter: (U -> T),setter: ((U,T) -> ())) { self.getter = getter self.setter = setter } func get(u: U) -> T { return getter(u) } func set(u: U,t: T) { setter(u,t) } } // ... let myPropertyLens = PropertyLens<MyClass,Int>(getter: { $0.myProperty },setter: { $0.myProperty = $1 }) 然而,这比我想要的更冗长,乏味,更容易出错.是否有我缺少的内置功能?
对于答案本身,到目前为止(1.1),任何语言构造都不会替代您正在做的事情(将存储属性的访问过程包装到可引用的对象中).
对于答案的意见部分,看起来你的代码只适用于公共变量,这对于打破基本的封装规则是很讨厌的,这是正确的吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 【翠字营原创】 应用程序在读写SQLite数据是否需要自己加锁
- vue监听scroll的坑的解决方法
- flexmojos + blazeDS : destination has no channels defin
- sqlite3中的Python日期时间
- 正则表达式–零宽断言详解
- swift语言的特点(相对于oc)
- ruby-on-rails – Rails – 使用jbuilder时的空白json文件
- ssh与ajax结合之json异常:org.apache.struts2.json.JSONEx
- 指尖上的电商---(6)solrconfig.xml配置详解
- Nand Flash,Nor Flash,CFI Flash,SPI Flash 之间的关系