Swift中@dynamicMemberLookup和callAsFunction特性实现对象透明代理功能
Posted 大熊猫侯佩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift中@dynamicMemberLookup和callAsFunction特性实现对象透明代理功能相关的知识,希望对你有一定的参考价值。
概述
在某些情况下,我们希望将一个内部对象隐藏起来,只通过外部的包装对象访问内部对象的所有属性。
比如,对象A包含name属性,对象P包含对象A,当我们读写P的name属性时,实际读写的是A的name属性:
struct A
var name: String
struct P
var a: A
// 如何实现对象属性代理???
以上是关于Swift中@dynamicMemberLookup和callAsFunction特性实现对象透明代理功能的主要内容,如果未能解决你的问题,请参考以下文章
将 Swift 3 升级到 4,目标 c 中不再有 swift 扩展
在 Swift 项目中使用 Objective C 类中的 Swift 类