这是我的代码,我在dIDFinishLaunchingwithOptions方法执行它:
- (BOol)application:(UIApplication *)application dIDFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // OverrIDe point for customization after application launch.// Add the tab bar controller's vIEw to the window and display.[self.window addSubvIEw:tabbarController.vIEw];[self.tabbarController setSelectedindex:2];[self.window makeKeyAndVisible];[self createPList1];[self createPList2];[self createPList3];return YES;
}
我希望最后三条消息只在第一次运行时执行.我想我可以使用UserDefaults并在这些消息执行后设置一个键(在第一次运行时)并在每次运行时检查该键的值,但我觉得有一个更好的主意 – 我不知道.
提前致谢.
解决方法 使用设置(通过NSUserDefaults)是通常的方式.为了增加好处,请设置“最后运行版本”的含义;这样,您将有机会不仅每个应用程序生命周期运行一次代码,而且每次版本升级也运行一次.也就是说,你的一次性代码有持久的副作用,对吧?那些钳子可能会去某个地方.因此,您可以在创建它们之前检查它们是否存在.使用一次性运行代码的结果作为再次运行它的触发器.
编辑:
NSUserDefaults *Def = [NSUserDefaults standardUserDefaults];Nsstring *Ver = [Def stringForKey:@"Version"];Nsstring *CurVer = [[[NSBundle mainBundle] infoDictionary] objectForKey:(Nsstring*)kcfBundLeversionKey];if(Ver == nil || [Ver compare:CurVer] != 0){ if(Ver == nil) { //Run once per lifetime code } //Run once-per-upgrade code,if any [Def setobject:CurVer forKey:@"Version"];}总结
以上是内存溢出为你收集整理的iphone – 如何只运行一次代码?全部内容,希望文章能够帮你解决iphone – 如何只运行一次代码?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)