草庐IT

Binding_New_Objective-C_Types

全部标签

objective-c - iOS:UITabBarController - 项 View 的延迟加载

我已经读到,子类化UITabBarController是一种不推荐的做法。但是,如何实现标签栏项目View的延迟加载呢?我正在玩弄一个标准的应用程序View层次结构:在我的主应用程序委托(delegate)文件(application:didFinishLaunchingWithOptions:)中,我正在实例化一个带有4个选项卡栏项目/图标的UITabBarController的自定义子类。我只需要加载第一个选项卡栏项目的第一个View——其他View应该根据请求延迟加载。因此,在application:didFinishLaunchingWithOptions:中,我正在加载欢迎V

objective-c - 上下文模式?为什么 Core Data 需要它?

我对CoreData还是很陌生,我正在尝试理解为什么它需要传递NSManagedObjectContext。据我了解,需要传递上下文,这样多个线程才不会影响相同的上下文,但我也觉得这种模式有时被认为是一种反模式,如前所述here.CoreData理论上能否以线程安全的方式实现,从而避免使用这种模式?其他ORM(例如Ruby的ActiveRecord)如何避免这种模式?例如,CoreData不能实现一个per-NSManagedObject保存方法,例如extension.这个轻型框架不处理多线程,但NSManagedObjects不能使用某种内部GCD队列来支持它,而内部上下文不公开吗

objective-c - 打开个人热点时 UIViewController 乱七八糟

当我打开个人热点连接时,我的布局被下推。我怎样才能删除顶部的这个热点栏或者得到这个栏的通知并根据它重新排列我的View?谢谢。 最佳答案 当状态栏的大小发生变化时,将调用您的应用程序委托(delegate)方法。您所要做的就是处理该选择器并手动更新您的View(如果您不想使用自动调整大小)。以下是您需要添加到您的应用委托(delegate)中的内容:-(void)application:(UIApplication*)applicationdidChangeStatusBarFrame(CGRect)oldStatusBarFram

objective-c - 我应该删除或隐藏 MKMapView 中的注释吗?

我想知道在从map上删除注释时哪个更快/更有效:隐藏或删除。每次用户放大或缩小时,我都需要删除和添加100个左右的图钉。我可以使用setHidden:遍历并隐藏所有注释,或者使用removeAnnotations:删除它们。我不确定哪种方法更好。 最佳答案 我相信标准方法是删除它们。更少的内存开销。并不是说100占用了那么多,但最好还是在需要时删除并重新添加然后隐藏。 关于objective-c-我应该删除或隐藏MKMapView中的注释吗?,我们在StackOverflow上找到一个类

objective-c - 使用 NSTimer 实现指数退避重试逻辑

我正在尝试使用NSTimer实现具有指数退避的重试逻辑。我的代码如下所示:-(void)start{[NSTimerscheduledTimerWithTimeInterval:0.0target:selfselector:@selector(startWithTimer:)userInfo:nilrepeats:NO];}-(void)startWithTimer:(NSTimer*)timer{if(!data.ready){//timer.timeInterval==0.0ALWAYS!NSTimeIntervalnewInterval=timer.timeInterval>=0

objective-c - 覆盖不使用 UITableView 滚动 - iOS

我有一个UITableView类,它使用以下方法在转到下一个屏幕时调用加载叠加层。问题是这个加载屏幕不会随着列表滚动……所以如果你稍微滚动并点击某些东西,加载屏幕不会显示(因为它在顶部)。如何让加载屏幕始终保持在UITableView之上?请注意,每个UITableView都包含在UINavBar中,而UINavBar又包含在UITabBar中。这是我的代码:-(void)createLoadScreen{CGRectscreenRect=[self.viewbounds];CGRectoverlayFrame=CGRectMake(0.0,0.0,screenRect.size.wi

objective-c - 什么时候在 iOS 的 ARC 中发布强大的属性?

我有一个关于iOS中的ARC的快速问题。(抱歉,我问了很多此类问题,但我对内存管理感到非常困惑。)。重要的是要注意,我从未使用过旧的内存维护系统(retain、release、assign...等),所以我不我真的不知道这些术语是什么意思。现在我很困惑我必须做些什么来确保正确释放强大的属性。例如,假设我正在制作一个学校应用程序,并且我的School对象包含对5个不同的Child对象(不在数组中)的强属性引用。每个Child对象都有一个指向Book对象的强指针(属性)。如果我从我的学校中删除了一个Child对象(比如通过使其属性=nil,或者通过更改我的属性以指向一个新对象),它的Boo

objective-c - 具有多个时间间隔的 NSTimer

在不创建多个NSTimer实例的情况下,如何实现一个NSTimer以按顺序触发具有不同间隔的特定或多个方法。例如方法1(0.3秒)、方法2(0.5)、方法3(0.7)等。如果有人可以分享任何示例代码,我将不胜感激。 最佳答案 我不确定你的最终目标是什么,但在阅读你的问题后我建议尝试以下方式,也许这就是你要找的。你应该把这段代码放在你通常想要以不同的时间间隔启动同一个NSTimer类的地方(不幸的是,这是不可能的)。{//...[selfperformSelector:@selector(method1)withObject:nila

objective-c - 在dealloc中应该将什么样的属性设置为nil?

我正在使用ARC。ARC会自动释放dealloc中的所有属性吗?是否需要手动将所有公共(public)属性和私有(private)字段设置为nil?有什么好的模式可以遵循吗? 最佳答案 在ARC下,模式是……不要在dealloc中做任何事情,甚至不要实现它。ARC会为您处理属性和实例变量。唯一的异常(exception)是dealloc是取消注册通知的好地方,如果您的对象已经注册了任何通知。 关于objective-c-在dealloc中应该将什么样的属性设置为nil?,我们在Stack

objective-c - 非常奇怪的 ARC 内存泄漏

下午好我正在对我即将发布的iOS应用程序进行一些Instruments测试,但我注意到一些非常奇怪的内存泄漏,这似乎来自系统库。当我运行Instruments时,我得到了这个泄漏:从我的角度来看,这非常奇怪!我去了这些泄漏的调用树,它们似乎都是深度C++系统调用。更让我困惑的是,这个项目启用了ARC,我通过分析器运行它,没有出现任何问题。更奇怪的是,这不会发生在模拟器上,也不会发生在我真正的iPad上,但在我的iPhone上会发生这个问题。当我选中“仅显示Obj-C”和“隐藏系统库”时,调用跟踪消失,这让我相信我的代码不对泄漏负责。为什么会发生这种情况,我该如何解决?谢谢你们。