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中数组操作

iOS开发中OC和swift的对比

将 Swift 3 升级到 4,目标 c 中不再有 swift 扩展

在 Swift 项目中使用 Objective C 类中的 Swift 类

在 Swift 项目中使用 Objective C 类中的 Swift 类

swift swift中字符串中字符的迭代器