我希望每次我的应用程序启动时(甚至可能从后台恢复)它都会执行操作(例如TWTweetComposeViewController *tweetViewController = [[TWTweetComposeViewController alloc] init];
)。
我也希望这个动作(在启动时)可以通过应用程序的设置包中的开关禁用。我该怎么办?谢谢你的关注。
P.S。如果我使用了错误的单词,我会道歉..我是初学者:)
答案 0 :(得分:2)
您可以在应用程序委托中实现几种方法,这些方法在UIApplicationDelegate
协议中可用。
首次启动您的应用时,会调用applicationDidFinishLaunching
。
当您的应用从后台恢复时,applicationWillEnterForeground
会被调用。
您添加到设置包中的开关将有一个与之关联的密钥NSString
。交换机在该密钥下的标准NSNumber
中存储编码为NSUserDefaults
的布尔值。您可以从标准用户默认值中读取布尔值,并使用它来确定是否执行操作。
有关如何添加设置包的Apples文档是here。
在您的设置包中,您需要一个切换开关。您将在标准用户默认值中查找的密钥由Key
字段指定。切换开关的默认值由DefaultValue
字段指定。 See here
以下是您在applicationDidFinishLaunching
方法
static NSString *const kTakeActionOnLaunchSettingKey = @"Key";
- (void)applicationDidFinishLaunching
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
BOOL doTakeActionOnLaunch = [userDefaults boolForKey:kTakeActionOnLaunchSettingKey];
if (doTakeActionOnLaunch) {
// Do something
}
}
答案 1 :(得分:1)
在voidDidLoad {}方法中初始化它。要禁用它,您可以使用对象库中的切换
答案 2 :(得分:1)
这很简单,我用它来实现从初始屏幕到主页的酷转换。 您需要将代码放在AppDelegate m文件中。
使用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
在启动时运行代码。
使用以下方法管理Backgroud< - >前景过渡:
- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application
- (void)applicationWillEnterForeground:(UIApplication *)application
- (void)applicationDidBecomeActive:(UIApplication *)application
希望这会对你有所帮助。