viewWillAppear,viewDidAppear,viewWillDisappear,viewDidDisappear指南

是否有正确使用这些方法的指导原则? 特别是,我想知道我可以在里面使用什么types的代码。 例如,如果我必须调用一个从WS中检索数据的方法,那么我应该在哪里调用它? 我可以在哪里注册/取消注册NSNotification? 等等

iOS 7应用程序如何透明地查看用户的主屏幕图像?

我见过一些应用程序(Vesper或iPad的提醒应用程序)使用用户的主屏幕背景图像。 这怎么可能? 它必须是某种切肉手的技巧,使透明的视图或窗口或(Gulp!Private API)? 任何人都有猜测?

是否有可能只提取核心数据查询中选定的属性

我有(我猜)典型的问题。 我的核心数据数据库包含表,其中有BLOB字段和相当长的文本字段。 通常我不需要加载这些大尺寸的字段。 由于数据库中有数千条logging,我宁愿只取数据。 换句话说,我想使“SELECT name,id FROM TAB_NAME”查询,而不是“SELECT * FROM TAB_NAME”查询。 有没有办法只使用核心数据提取选定的字段? 或者我应该寻找其他的select,例如,把大的字段分隔到另一个表格上? 也许有更好(更简单)的方法来做到这一点? 我习惯于使用Hibernate或者JPA,在上面的操作中很容易做到,在通过Core Data docs之后,我没有看到这样的选项。

GCD创build的线程数量?

GCD创build了多less个线程有没有很好的文档? 在WWDC上,他们告诉我们这是围绕CPU核心build模的。 但是,如果我称这个例子: for (int i=1; i<30000; i++) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ [NSThread sleepForTimeInterval:100000]; }); } 它打开了66个线程,即使在iPad1上也是如此。 (它本身也在Lion上调用时打开66个线程)。 为什么66?

Bundle.main.path(forResource:ofType:inDirectory :)返回nil

尽量不要大笑或者哭泣 – 我只是在20年之后才开始重新编码。 我花了超过4个小时看引用和尝试代码片断来获取Bundle.main.path打开我的文本文件,所以我可以读取我的应用程序的数据(我的下一步是适当地parsing它)。 if let filepath = Bundle.main.path(forResource: "newTest", ofType: "txt") { do { let contents = try String(contentsOfFile: filepath) print(contents) } catch { print("Contents could not be loaded.") } } else { print("newTest.txt not found.") } 结果是:“找不到newTest.txt”。 不pipe我如何将文件拖放到项目中,在Xcode中创build文件或使用文件 – >添加文件到…菜单项。

私人和公共成员如何在Objective-C中实施?

我有一些关于在工作中使用属性和实例variables的讨论,所以我想find一个wiki的答案。 现在,我知道在Objective-C中没有真正的私有成员types,一切都非常公开。 不过,我有点担心我们应该devise我们的class级,也遵守面向对象的原则。 我想听听这三种devise方法的意见: 答:根据各个职位甚至到斯坦福大学新的iPhone开发课程,你应该随时随地使用属性。 然而,恕我直言,这种方法制动OOP的devise原则,因为在这种情况下,所有成员公开。 为什么我需要将所有内部/本地实例variables发布到外部? 另外,如果你通过属性使用合成的setter,而不是直接使用本地ivar,那么就会有一些(但仍然)开销。 这是一个示例: //==== header file =====// @interface MyClass : NSObject @property (nonatomic, retain) NSString *publicMemberWithProperty; @property (nonatomic, retain) NSString *propertyForPrivateMember; @end B.另一种方法是在头文件中声明ivars(不声明相对属性)私有成员,并在同一个头文件中为公共成员声明纯属性(不声明相对ivars)。 在这种情况下,Ivars将直接在课堂上使用。 这种方法是有道理的,但不能使用属性的所有好处,因为我们在设置新值之前手动释放旧值。 这是一个示例: //==== header file =====// @interface MyClass : NSObject{ NSString *_privateMember; } @property (nonatomic, retain) NSString *publicMemberWithProperty; @end C.为头文件中的公共成员声明纯属性(不声明相对ivars),并在实现文件的私有接口中为私有成员声明纯属性(不声明相对ivars)。 恕我直言,这个方法比第一个更清楚,但同样的问题仍然存在:为什么我们必须有内部/本地成员的财产? 这是一个示例: //==== header file […]

使用故事板的优缺点?

我已经写了一段时间的iOS应用程序,并逐渐从完全编程的UI到密集使用Interface Builder。 我现在正在考虑为我的一些新项目使用新的Storyboardingfunction,但我没有足够的经验或知识来计算这样做的优缺点。 有人可以提供一些关于什么时候使用Storyboarding的例子或信息,什么时候浪费时间?

如何在iPhone中Ping或检查特定IP地址的服务器是否可用/连接

我想ping或查找服务器的特定IP地址,如果它是连接或可用在特定的时间或不在我的iPhone应用程序。 我在互联网上search了很多,但找不到相关的结果。 请帮助我,因为我是这个领域的新手。 提前致谢。

iOS如何判断应用程序是运行前台还是后台?

众所周知,如果一个iOS应用程序正在运行前台,那么当删除通知到来时,该应用程序将不会通知用户。 现在在我的应用程序中,我想显示警报通知用户远程通知。 如何判断应用程序是否正在运行前景或背景? 我find了文档和searchstackoverflow.com并没有find任何有关的事情。 谢谢。

CALayer – 暗影导致性能下降?

所以我在我的导航控制器上做了一些自定义的animation,以及它推动和popupviewControllers的方式。 一切顺利。 只要我添加下面的代码(在UINavigationController的子类),我面临巨大的性能打击。 添加一个阴影后,所有的animation变得非常滞后。 这是预期还是我在代码中做错了什么? // This code gets called once during NavigationController initialization. [self.view setClipsToBounds:NO]; [self.view.layer setCornerRadius:5]; [self.view.layer setShadowOffset:CGSizeMake(0, 20)]; [self.view.layer setShadowColor:[[UIColor yellowColor] CGColor]]; [self.view.layer setShadowRadius:20.0]; [self.view.layer setShadowOpacity:1]; 编辑: 改变我的影子半径为1,它仍然很慢