变量中的ios swift结构
尝试学习如何在类中使用结构。我有一个视图控制器,在其中我希望能够从两个不同的源切换集合视图数据提供程序,因此我将dataprovider struct设置为:变量中的ios swift结构,ios,swift,Ios,Swift,尝试学习如何在类中使用结构。我有一个视图控制器,在其中我希望能够从两个不同的源切换集合视图数据提供程序,因此我将dataprovider struct设置为: struct DataProvider { var apiPath: String var items: Array<CollectionItem> var pagination: Pagination } 我希望能够将当前提供程序存储在变量中: var currentDataProvider: Da
struct DataProvider {
var apiPath: String
var items: Array<CollectionItem>
var pagination: Pagination
}
我希望能够将当前提供程序存储在变量中:
var currentDataProvider: DataProvider?
但每次我分配变量时,它都会创建一个新的数据提供程序
switch sender.selectedSegmentIndex {
case 0:
currentDataProvider = self.dataProvider1
case 1:
currentDataProvider = self.dataProvider2
default:
break;
}
这就是
struct
s在Swift中的工作方式struct
通过值传递,而class
通过引用传递。如果需要访问相同的数据提供程序实例
,请将其定义为类
switch sender.selectedSegmentIndex {
case 0:
currentDataProvider = self.dataProvider1
case 1:
currentDataProvider = self.dataProvider2
default:
break;
}