首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每次加载viewDidLoad

每次加载viewDidLoad
EN

Stack Overflow用户
提问于 2016-06-16 07:05:46
回答 2查看 129关注 0票数 0

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

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

代码语言:javascript
复制
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循环引起的?

EN

回答 2

Stack Overflow用户

发布于 2016-06-16 07:14:33

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

将其设置为单例,或者将其设置为您的应用程序委托的成员,或者其他任何方式。

当您加载有问题的视图控制器时,从该对象获取数据。

这是一篇关于Swift中单件的小文章

https://thatthinginswift.com/singletons/

票数 3
EN

Stack Overflow用户

发布于 2016-06-16 07:23:59

如果希望仅在应用程序启动时执行代码,请将其移动到

代码语言:javascript
复制
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

你的AppDelegate。

这样,它将只在用户启动你的应用程序时执行。

正如rigdonmr在下面的评论中所说,当你想让一段代码只运行一次时,有几种技术可以使用。我的回答是专门告诉你如何在应用程序启动时在期间运行一次代码块。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37847267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档