Swift中@dynamicMemberLookup和callAsFunction特性实现对象透明代理功能

在这里插入图片描述

概述

在某些情况下,我们希望将一个内部对象隐藏起来,只通过外部的包装对象访问内部对象的所有属性。

比如,对象A包含name属性,对象P包含对象A,当我们读写P的name属性时,实际读写的是A的name属性:

struct A {
   
    
    
	var name: String
}

struct P {
   
    
    
	var a: A
	// 如何实现对象属性代理???

猜你喜欢

转载自blog.csdn.net/mydo/article/details/125503585