我希望每次我的应用程序启动时(甚至可能从后台恢复)它都会执行一个操作(例如 TWTweetComposeViewController *tweetViewController = [[TWTweetComposeViewController alloc] init];
)。
我还希望可以通过应用程序设置包中的开关禁用此操作(在启动时)。我该怎么办?感谢您的关注。
p.s.如果我使用了不正确的词,我深表歉意。我是初学者:)
最佳答案
UIApplicationDelegate
中提供了几种可以在应用程序委托(delegate)中实现的方法。协议(protocol)。
当您的应用首次启动时applicationDidFinishLaunching
叫做。
当你的应用从后台恢复时applicationWillEnterForeground
叫做。
添加到设置包中的开关将有一个键,即 NSString
,与之相关。开关存储一个编码为 NSNumber
的 bool 值。在标准 NSUserDefaults
在那个键下。您可以从标准用户默认值中读取 bool 值,并使用它来确定是否执行操作。
关于如何添加设置包的 Apple 文档是 here .
在您的设置包中,您需要一个拨动开关。您将在标准用户默认值中查找的 key 由 Key
指定。 field 。拨动开关的默认值由 DefaultValue
指定。 field 。 See here
这是您需要在 applicationDidFinishLaunching
中执行的操作方法
static NSString *const kTakeActionOnLaunchSettingKey = @"Key";
- (void)applicationDidFinishLaunching
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
BOOL doTakeActionOnLaunch = [userDefaults boolForKey:kTakeActionOnLaunchSettingKey];
if (doTakeActionOnLaunch) {
// Do something
}
}
关于iphone - 应用程序启动操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7938168/