小编Amo*_*mos的帖子

使用App Delegate访问通过Storyboard创建的视图控制器

我正在使用storyboard开发iOS5应用程序,我在视图控制器类中有一个方法,我想从App Delegate访问.麻烦的是,这个视图控制器通过故事板中的标签栏控制器进行实例化,因此App Delegate无法直接调用我想要的方法...

要使视图控制器与App Delegate取得联系,所有人都必须使用:

MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
Run Code Online (Sandbox Code Playgroud)

是否有类似的简单方法指向已经实例化的视图控制器或类?

iphone delegates objective-c storyboard ios5

14
推荐指数
5
解决办法
3万
查看次数

我可以为NSNotifications注册课程吗?我可以在NSNotifications中使用类方法吗?

我正在为我的iPhone应用程序上课,我希望它注册并了解应用程序状态更改(UIApplicationDidEnterBackgroundNotification等).有没有办法为通知注册一个类,而不必将实例化的对象保留在内存中?我只是希望有适当的通知调用类来初始化,做一些事情,然后再次留下内存.

现在我在init方法中有以下内容:

[[NSNotificationCenter defaultCenter] addObserver: self
                                         selector: @selector(handleEnteredBackground) 
                                             name: UIApplicationDidEnterBackgroundNotification
                                           object: nil];
Run Code Online (Sandbox Code Playgroud)

以及该类的.m文件中的其他方法:

- (void) handleEnteredBackground {
    NSLog(@"Entered Background"); }
Run Code Online (Sandbox Code Playgroud)

我将该类实例化一次applicationDidLoad,但由于我没有对它做任何事情,我认为ARC会从内存中杀死该对象,当我关闭它时应用程序崩溃(没有任何有用的错误代码,请注意).如果我切换handleEnteredBackground到带有"+"符号的类方法,则在关闭应用程序时会出现无效的选择器错误.

最终目标是在应用程序的生命周期中实例化一次类,并使其能够响应应用程序状态更改,而无需在类外部添加任何其他代码.假设iOS 5 + Xcode 4.2+

iphone notifications objective-c selector

7
推荐指数
2
解决办法
4009
查看次数

没有位置服务的iOS后台轮询

这是一个我们多次都想知道的问题,没有人似乎有一个好的答案.

像DataMan这样的应用程序如何在后台定期运行,无限期地进入应用程序商店?

该应用程序允许用户打开"精确数据跟踪"并选择应用程序更新其数据使用计数器的频率,用户互动为零 - 间隔为每分钟一次,每10分钟一次,每20分钟一次.

是的,我已经阅读了有关后台进程的所有相关Apple文档,并成功实现了许多.我也探讨了这个老帖子的细节,但现在它已经足够老了许多"循环漏洞"已被修补,并且记录的内容无论如何都会更好.

虽然我很幸运将我的应用程序注册为VOIP应用程序并请求以一定的时间间隔保持活着,但它不是app-store-ok,除非它是VOIP应用程序(DataMan不是).此外,注册VOIP保持活动实际上并不表现出与DataMan相同的行为... VOIP保持呼叫以某种随机的间隔出现,或者至少在您选择的频率上,而不会同步到时钟时间.DataMan实际上符合时钟规定的时间间隔,并在:10,:20,:30分钟标记等处更新其数据计数器.

有任何想法吗?

voip location background objective-c

5
推荐指数
1
解决办法
1165
查看次数