小编Pau*_*aul的帖子

applicationWillEnterForeground与applicationDidBecomeActive,applicationWillResignActive与applicationDidEnterBackground

当应用程序从后台唤醒并且您希望它准备好处于活动状态时,哪个是正确的代理?

applicationWillEnterForeground vs applicationDidBecomeActive - 有什么区别?

当应用程序进入休眠状态并且您想要准备它以清理和保存数据时,哪个是适当的委托?

applicationWillResignActive与applicationDidEnterBackground - 有什么区别?

此外,我注意到当传入的SMS或呼叫进入时,应用程序会调用applicationWillResignActive,但用户选择单击"确定"并继续.我不希望我的应用程序在这些情况下采取任何行动.我只是希望它继续运行而不进行任何中间清理,因为用户没有退出应用程序.所以,我认为在applicationDidEnterBackground中进行清理工作更有意义.

我将非常感谢您对最佳实践的意见,以便选择哪些代表实现唤醒和睡眠以及考虑被SMS /呼叫中断等事件.

谢谢

iphone objective-c uiapplicationdelegate ios

209
推荐指数
6
解决办法
7万
查看次数

如何检查特定的UIViewController视图当前是否可见?

可能重复:
如何判断UIViewController的视图是否可见

我正在开发一个应用程序来处理来自网络的持续传入数据流,并为用户提供许多不同的UIView来查看该数据.

当某些模型数据根据来自网络的传入流进行更新时,我访问相关的UIViewController或UITableViewController,并在其上执行-setNeedsDisplay(在UIViewController的情况下)或-reloadData(在UITableViewController的情况下).

有没有办法检查当前是否正在显示给定的UIView(除了刚被加载)以便我只做--setNeedsDisplay或-reloadData如果用户当前正在查看该UIView?看起来在用户当前没有看到的视图上调用-setNeedsDisplay或reloadData会浪费处理能力,并且不利于电池寿命.当用户最终切换到之前已更新的视图时,在-viewWillAppear上执行-setNeedsDisplay或reloadData会更有意义.

谢谢

iphone objective-c

48
推荐指数
2
解决办法
6万
查看次数

从float或double实例化NSDecimalNumber的正确方法

我正在寻找从double或short实例化NSDecimalNumber的最佳方法.有以下NSNumber类和实例方法......

+NSNumber numberWithFloat
+NSNumber numberWithDouble
-NSNumber initWithFloat
-NSNumber initWithDouble
Run Code Online (Sandbox Code Playgroud)

但这些似乎会返回NSNumber.另一方面,NSDecimalNumber定义以下内容:

+NSDecimalNumber decimalNumberWithMantissa:exponent:isNegative:
+NSDecimalNumber decimalNumberWithDecimal:
Run Code Online (Sandbox Code Playgroud)

这里有几种可能性.如果您将NSDecimalNumber设置为上述NSNumber便捷方法的返回值,则Xcode会生成警告.

希望能以最干净,最正确的方式投入...

iphone cocoa objective-c

38
推荐指数
2
解决办法
3万
查看次数

传递对输出位置的引用与使用return

在调用提供简单数据类型的函数时,哪个更好的性能 - 让它填充内存位置(通过指针传递)或让它返回简单数据?

我在这里过度简化了返回静态值5的示例,但假设确定返回值的查找/功能在现实生活中是动态的......

传统逻辑会告诉我第一种方法更快,因为我们通过引用操作而不是像第二种方法那样返回副本......但是,我想要别人的意见.

谢谢

void func(int *a) { *a = 5; }

要么...

int func() { return 5; }

c++ performance pass-by-reference

10
推荐指数
1
解决办法
2637
查看次数

Java Vector:clear vs removeAllElements方法

我是Java的新手.

哪个更有效的Vector - clear()或removeAllElements().我猜想removeAllElements因为它保持容量不变(不释放内存)而clear()释放内存.根据应用,可能需要任何一种.

我会很感激一些意见.谢谢.

java

6
推荐指数
2
解决办法
2万
查看次数

使用HttpURLConnection流式传输数据

我想使用HttpURLConnection通过HTTP POST打开与服务器的长期连接,并在进入时处理流数据.这适用于Android项目.

我不清楚如何用HttpURLConnection做到这一点.在iOS中,NSURLConnection提供了一种异步模式,当新数据进入并可用于解析时,将调用用户实现的回调.

使用Java中的HttpURLConnection,我看到有一个available()方法返回可以读取的字节数.但是,我不清楚如何编写一个打开连接的流应用程序,并在新的流数据可用于解析DataInputStream时作出反应.

我会很感激一些意见.HttpURLConnection或Java中的替代类是否支持HTTP连接的非阻塞,异步处理?

谢谢

java streaming android httpurlconnection

3
推荐指数
1
解决办法
4325
查看次数