浅谈swift中类似于C++句柄的语法
程序员文章站
2024-03-17 22:08:46
...
前情提要
之前在做获取图书数据时,碰到了这样一个问题,解决方案类似于C++的句柄,但是iOS我不知道专业术语是什么,书架类想要获取数据类的数据,需要在数据类中new一个书架类的对象,并且需要初始化,问题就出现在这里了,书架类本身存在一定的缓存,如果进行初始化,会造成数据的丢失,这块就采用了这种方法,接下来就直接看代码吧!
首先在数据类中定义一个全局变量,类型为BookRackViewController
var bookRackViewController: BookRackViewController? = nil
然后再初始化
init(handleBookRackViewController: BookRackViewController) {
bookRackViewController = handleBookRackViewController
}
此时在书架类中的viewDidLoad()方法中定义数据类,并且将self传过去,这里的self就是书架类
let gcdWebDataSource = GCDWebDataSource(handleBookRackViewController: self )
而此时就可以在数据类中直接将参数传递给书架类了
//将数据传到书架页面
bookRackViewController?.setGCDWebDataSourceToBookRack(getname: name)
其中setGCDWebDataSourceToBookRack为书架类中接收参数的方法.
推荐阅读