iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 如何只运行一次代码?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在开发一个iPhone应用程序,我想知道我是否只能运行一次代码段(换句话说:初始化代码,我希望它只在第一次运行时执行). 这是我的代码,我在didFinishLaunchingwithOptions方法执行它: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
我正在开发一个iPhone应用程序,我想知道我是否只能运行一次代码段(换句话说:初始化代码,我希望它只在第一次运行时执行).
这是我的代码,我在didFinishLaunchingwithOptions@L_262_4@执行它:

- (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"];
}
@H_673_47@

大佬总结

以上是大佬教程为你收集整理的iphone – 如何只运行一次代码?全部内容,希望文章能够帮你解决iphone – 如何只运行一次代码?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。