草庐IT

deallocating

全部标签

ios - RestKit 核心数据 NSError dealloc 崩溃

试图弄清我在生产构建中遇到的问题的根源,最终能够在测试时重现它。使用RestKitv0.23.1,在使用以下代码执行RKManagedObjectRequestOperation时(插入仪器时)我得到“Objective-C消息已发送到已释放的‘NSError’对象(僵尸)”,并且每次有对象时应用程序都会崩溃响应JSON-如果响应类似于“objects=();”没有崩溃-所以我猜它在RestKit/CoreData映射或存储中的某个地方?RKManagedObjectRequestOperation*objectRequestOperation=[_objectManagermanag

ios - push viewcontroller 是一个实例变量,pop 时不会调用 dealloc 方法

我有一个AViewController,如果我像这样将BViewController创建为实例变量@interfaceAViewController(){BViewController*bVC;}@end然后推-(void)push{bVC=[[BViewControlleralloc]init];[self.navigationControllerpushViewController:bVCanimated:YES];}当BViewController弹出时,不会调用Dealloc方法。两个ViewController几乎都是空的,我的意思是没有NSTimers、block或网络请求

ios - dealloc AVCaptureVideoPreviewLayer 期间罕见崩溃

在客户端手机上很少能在相机解除分配期间复制崩溃FatalException:NSRangeExceptionCannotremoveanobserverforthekeypath"changeSeed"frombecauseitisnotregisteredasanobserver.Thread:FatalException:NSRangeException0CoreFoundation0x000000018449259c__exceptionPreprocess+1321libobjc.A.dylib0x0000000194be40e4objc_exception_throw+602

iOS 8 : -[UIInputViewSet setRestorableResponder:]: message sent to deallocated instance 0x7d6659b0

这只发生在IOS8iPhone应用程序上,该应用程序在以前的版本中运行良好。谈到这个问题,我有一个TableView,其中包含文本字段和其他单元格。textfield的所有委托(delegate)都已实现。现在,当我单击文本字段时,会显示键盘。虽然键盘仍然可见,但我单击了另一个将我带到其他View的单元格,关闭了键盘。现在,当我单击此新View中的后退按钮返回上一个View时,应用程序崩溃并显示标题中提到的错误消息。这曾经在IOS7和以前的版本中完美运行。请帮忙。按照要求添加堆栈跟踪。(0???0x15daa77d0x0+366651261,1Application0x002e63f0

ios - 为什么在 dealloc 方法中没有释放对象?

我在理解Objective-C和ARC时遇到问题。据我了解,强指针会自动为您解除分配,因此您不必考虑(在dealloc方法中解除分配,或者在上次使用对象之后解除分配?)。所以我写了一个小应用,有2个viewController和一个NavigationController,它进入一个View然后返回。调用了dealloc方法,但是我在viewDidLoad方法中设置的属性没有被释放,它仍然指向某个对象。代码:第一个viewController有一个按钮,通过按下它,执行到另一个viewController的segue。那里没有代码。SecondViewController.m@inte

iphone - 我应该在 viewDidUnload 和 dealloc 中注销 NSNotification 吗?

我在viewDidLoad方法中注册了一个NSNotification。我是否应该使用下面的代码在viewDidUnload和dealloc方法中注销它?[[NSNotificationCenterdefaultCenter]removeObserver:self];谢谢。 最佳答案 是的,你应该。释放ViewController时不会调用viewDidUnload。因为viewDidLoad在ViewController打开时被调用,人们有时会错误地认为它的对立面(viewDidUnload)在屏幕关闭时被调用。事实并非如此,vi

objective-c - 我应该在 dealloc 中释放实例变量和属性吗?

根据Apple关于ViewControllerLifecycle的文档我注意到有关dealloc方法的以下内容:Overridethismethodonlytoperformanylast-minutecleanupofyourviewcontrollerclass.Objectsstoredininstancevariablesandpropertiesareautomaticallyreleased;youdonotneedtoreleasethemexplicitly.我一直被教导要在ViewController的dealloc方法中调用我拥有的实例变量和属性的释放。我知道的唯一

iphone - viewDidUnload 应该调用 super viewDidUnload 还是 dealloc?

模板似乎创建了[superviewDidUnload]但代码示例显示:[superdealloc]有区别吗? 最佳答案 您应该只调用父类(superclass)的-viewDidUnload实现切勿直接调用[superdealloc],除非在您自己的-dealloc方法中-(void)viewDidUnload{...[superviewDidUnload];}和-(void)dealloc{//cleanuphere[superdealloc];} 关于iphone-viewDidUn

ios - 为什么是: "Attempting to load .. while deallocating... :UISearchController:"

我有根Storyboard,其中有一个按钮可以插入ViewControllerB。ViewControllerB有一个排序ControllerUISortController.ViewControllerB有一个由根导航Controller控制的“后退”方法。我收到以下警告:Attemptingtoloadtheviewofaviewcontrollerwhileitisdeallocatingisnotallowedandmayresultinundefinedbehavior()我用了Apple'ssample(需要成员(member)资格)添加新的UISearchControll

ios - 是否存在在不调用 viewWillDisappear 的情况下调用 dealloc 的情况?

在Controller中,我们在viewDidAppear中添加了观察器,并在viewWillDisappear中将其删除。init/viewDidLoad中没有观察者。在这种情况下,为了安全起见,下面一行/dealloc方法是否需要它?[[NSNotificationCenterdefaultCenter]removeObserver:self];现在的问题/疑问是,在没有调用viewWillDisappear的情况下,是否存在调用dealloc的场景?什么时候调用内存警告呢?在这些情况下会发生什么?谢谢。 最佳答案 一种情况是: