- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我的应用程序每天第一次启动时,我需要运行一些数据库处理。
我选择在第一个 View 中执行此操作,并显示带有事件指示器的警报 View 。我尝试使用 NSThread detachNewThreadSelector 来运行数据库处理。在函数结束时,我使用 dismissWithClickedButtonIndex
关闭警报 View 。
然后,如果日期允许,我会从 applicationWillEnterForeground
调用 View Controller 。
但是,我收到错误 尝试从主线程或 Web 线程以外的线程获取 Web 锁。现在在
。 dismissWithClickedButtonIndex
行崩溃
我认为发生这种情况是由于使用带有线程的警报 View 等对象时存在缺陷。
我需要它兼容 iOS 4。
有人能给我指出另一种方法吗?
最佳答案
您将无法在后台线程中直接创建和使用 UIAlertView。
以下是您可以做什么的大致想法:
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
// create your progress indicator in your alert view
[alertView show];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// do your db update
dispatch_async(dispatch_get_main_queue(), ^{
// update your alert view here.
});
});
这个想法是在后台队列上进行处理,并将仅主线程对象的消息返回到主队列(例如UIAlertView
。)
关于iphone - Obj-C,在 View 中带有警报 View /进度指示的线程安全进程,可以从 applicationWillEnterForeground <= iOS4? 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9685255/
我的应用程序代码将进入前台,如下所示。我在 iOS 模拟器上工作。我在我的代码中尝试的是,当玩家在游戏进行时单击主页按钮并在一段时间后返回游戏时,我希望游戏处于暂停状态。虽然我的代码暂停了游戏,但它并
也许有人可以帮助我。 当我的应用程序第一次启动时,会出现一条 UIAlertController 消息,询问用户是否需要转到“设置”应用程序。使用以下代码。 dispatch_async(dispa
我的应用程序中有大约 9 个 ViewControllers。我正在使用 presentModalViewController 打开 ViewController。每次用户进入后台并进入前台时,我都想
我的 iOS 应用程序中的多任务处理似乎有问题。我有一个 NSTimer 正在运行,它会更新屏幕上的一些内容,另一个 NSTimer 只会在定义的时间间隔后触发一次。 问题是:我想对那个火灾事件使用r
嘿,我正在模拟器中尝试多任务处理(我只有第二代 iPod 和 iPad),但我仍然遇到一些问题。我的测试方法如下所示: - (void)applicationDidBecomeActive:(UIAp
在 iOS4 之前,我的应用程序的初始 View Controller 会检查 viewWillAppear 中的密码开/关设置变量,如果设置为打开,则会显示一个模式密码屏幕,该屏幕将一直保留在那里,
我想从第一个 View 重新启动应用程序,如下所示: func applicationWillEnterForeground(_ application: UIApplication) { l
我的 iPhone 应用程序之一正在运行。现在我关掉我的 iPhone 并重新启动它。我现在重新打开同一个应用程序。我的问题是当我重启后重新打开应用程序时会调用 applicationWillEnte
当 applicationDidEnterBackground: 触发时,我暂停正在使用 AVAudioPlayer 播放的音频: [self.avPlayer pause]; 现在,当 applic
我添加此功能以在应用进入前台时发布通知: - (void)applicationWillEnterForeground:(UIApplication *)application { [[NSN
我有一个 UITableView,可以从网络加载远程数据。我在 viewWillAppear 中有逻辑来根据状态更改和数据集的 TTL 在需要时处理刷新数据。这在应用程序“ session ”中工作得
我有一个 PIN View Controller ,每次 - (void)applicationWillEnterForeground:(UIApplication *)application 时都需
所以,我有一个具有服务器状态的应用程序,我通过超时值刷新它并检查 applicationWillEnterForeground 中的超时,如果超时已过期,则重新加载。 到目前为止,这一直运作良好。 我
我正在构建一个应用程序,允许将图像从 safari 搜索复制到 ImageView ,当我重新打开应用程序时,如果我处于特定 View (下图),我需要验证剪贴板是否是不为空我想启用粘贴按钮。 我想知
想象一下当我发现没有 applicationWillEnterForegroundWithOptions api 时我的惊讶! 我有一个导出自定义 UTI 的应用程序。当我收到一封包含附件的电子邮件时
当应用程序进入前台时,我尝试重新加载表格 View 。在 ViewController -> viewDidLoad: [[NSNotificationCenter defaultCenter] ad
我正在 iOS 7 上开发一个具有所需功能的应用程序 当我按主页按钮时,应用程序进入背景,我将向当前 UIWindow 添加图像。因此,当应用程序进入后台时,如果用户在 iOS 7 上双击主页按钮,操
我试图在应用程序从后台状态返回时刷新标签,但是我找不到引用该标签的方法。 但是,如果我在应用程序委托(delegate)的 applicationWillEnterForeground 下添加 lab
我想知道当应用程序进入前台时出现哪个 View 。 这怎么可能? func applicationWillEnterForeground(_ application: UIApplication) {
我想在后台运行一段时间后将用户锁定在我的应用程序之外。我在 AppDelegate 的 applicationWillEnterForeground 中捕捉到了这一点(并与 applicationWi
我是一名优秀的程序员,十分优秀!