ios - viewDidLoad 每次加载

标签 ios xcode swift

我正在做一个简单的项目,使用 firebase。

在我的 viewDidLoad 小说中,我正在创建该类的一个对象。我只想在我的工作周期中创建一次。但是,每次我访问这个 ViewController 时它都会创建一个新对象。

override func viewDidLoad() {
    super.viewDidLoad()

    let urlArray = ["http://i.imgur.com/VAWlQ0S.gif", "http://i.imgur.com/JDzGqvE.gif", "http://67.media.tumblr.com/4cd2a04b60bb867bb4746d682aa60020/tumblr_mjs2dvWX6x1rvn6njo1_400.gif", "https://media.giphy.com/media/TlK63ELk5OPDzpb6Tao/giphy.gif", "http://i3.photobucket.com/albums/y90/spicestas/GeriHalliwell-Calling-new1.gif", "http://media.tumblr.com/tumblr_lnb9aozmM71qbxrlp.gif"]

    var counter = 1

    for url in urlArray {

       let nsUrl = NSURL(string: url)

       let girls = ProfileClass()

       girls.profilePhotoUrl = url
       girls.profileGender = "female"
       girls.profileName = "girlsname\(counter)"
       girls.profileSurname = "girlsurname\(counter)"
       girls.interest = "men"
       girls.uid = "\(randomStringWithLength(45))"

       counter++
       girls.SaveUser()


}

也许我应该在另一个函数中编写代码?或者问题可能是由我的 for 循环引起的?

最佳答案

您应该创建另一个类来处理您的数据。称它为您的数据管理器。

将其设为单例,或将其设为您的应用委托(delegate)的成员,或其他任何方式。

当您加载有问题的 View Controller 时,从该对象获取数据。

这是一篇关于 Swift 中单例的不错的小文章

https://thatthinginswift.com/singletons/

关于ios - viewDidLoad 每次加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37847267/

相关文章:

ios - 无法在 Swift 3.0 中将 View Controller 显示为弹出 Controller

swift - UIView 不调整大小以匹配设备

swift - 在 Swift 中计算行数

ios - Delphi XE4 和 Xamarin Monotouch 在针对 iOS 的方式上有何不同?

ios - listView 不显示,除非我滚动它

image - UISegmentedControl 图像缩放

ios - 在 swiftui 中关闭 View

ios - 如何根据操作系统版本创建实例变量

xcode - Swift String 有索引类型吗?

iphone - 怎么知道是iphone还是ipad?