在全局数据中存储和检索数据 Class
Store and Retrieve Data in Global Data Class
我有兴趣单独存储数据 class,以允许从应用程序中的任何视图保存和访问这些数据。为此,我首先在名为 GlobalData.swift
的项目中创建了一个空的 class。在此文件中,我有以下源代码:
import UIKit
class Main {
var drinkData:PFObject?
init(drinkData:PFObject) {
self.drinkData = drinkData
}
}
在我的 Table 视图中,当用户选择一个单元格时,我正在保存 Parse PFObject
以便以后可以轻松访问它。在我的 Table class 中,我有以下代码:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if let indexPath = self.tableView.indexPathForSelectedRow {
let row = Int(indexPath.row)
let localDrinkData = Main(drinkData:(objects?[row] as PFObject!))
print("global : \(localDrinkData.drinkData)")
}
}
现在可以完美运行了。 print
行将完全按照我的意愿执行(打印出 PFObject
和该行内的所有项目),问题是我需要保存它然后才能在不同 class。
我的问题仍然存在。我怎样才能在不同的 class 中调用 Main
drinkData
并能够像我在上面的函数中所做的那样打印它:
print("global : \(localDrinkData.drinkData)")
这是我获得此设计的原始源代码的地方。显然,我做了一些修改:Access variable in different class - Swift
非常感谢!
您能够从 class Main() 访问相同数据的唯一方法是传递您正在更改的 Main() 实例。如果您想从其他 classes 访问 Main() 而无需传递您的 Main() 实例,我建议将 Main() 转换为 Singleton class.
import UIKit
class Main {
static let sharedMain = Main()
var drinkData:PFObject?
}
如果你想 set/access 主数据,它看起来像这样:
设置:Main.sharedMain.drinkData = //insert PFObject
阅读:let sharedData = Main.sharedMain.drinkData
旁注:我建议您将 class 的名称更改为 "DrinkManager",将自定义 classes 称为 Main 感觉不对。
我有兴趣单独存储数据 class,以允许从应用程序中的任何视图保存和访问这些数据。为此,我首先在名为 GlobalData.swift
的项目中创建了一个空的 class。在此文件中,我有以下源代码:
import UIKit
class Main {
var drinkData:PFObject?
init(drinkData:PFObject) {
self.drinkData = drinkData
}
}
在我的 Table 视图中,当用户选择一个单元格时,我正在保存 Parse PFObject
以便以后可以轻松访问它。在我的 Table class 中,我有以下代码:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if let indexPath = self.tableView.indexPathForSelectedRow {
let row = Int(indexPath.row)
let localDrinkData = Main(drinkData:(objects?[row] as PFObject!))
print("global : \(localDrinkData.drinkData)")
}
}
现在可以完美运行了。 print
行将完全按照我的意愿执行(打印出 PFObject
和该行内的所有项目),问题是我需要保存它然后才能在不同 class。
我的问题仍然存在。我怎样才能在不同的 class 中调用 Main
drinkData
并能够像我在上面的函数中所做的那样打印它:
print("global : \(localDrinkData.drinkData)")
这是我获得此设计的原始源代码的地方。显然,我做了一些修改:Access variable in different class - Swift
非常感谢!
您能够从 class Main() 访问相同数据的唯一方法是传递您正在更改的 Main() 实例。如果您想从其他 classes 访问 Main() 而无需传递您的 Main() 实例,我建议将 Main() 转换为 Singleton class.
import UIKit
class Main {
static let sharedMain = Main()
var drinkData:PFObject?
}
如果你想 set/access 主数据,它看起来像这样:
设置:Main.sharedMain.drinkData = //insert PFObject
阅读:let sharedData = Main.sharedMain.drinkData
旁注:我建议您将 class 的名称更改为 "DrinkManager",将自定义 classes 称为 Main 感觉不对。