Tag: dealloc

未调用UIViewController-dealloc方法

我正在使用自动引用计数。 我有一个自定义的UIViewController子类,每当我调用-presentViewController: animated:completion:或从-presentViewController: animated:completion:视图中删除它的视图我想NSLog东西像“我dealloced”,所以我知道视图控制器已被成功删除。 我在我的视图控制器中实现了-dealloc方法。 然而,我开始了一个testing项目,我刚刚有两个UIViewController实例(没有保留周期)和-dealloc不调用或者当我推动第二个UIViewController模态或当我删除超级视图或当我从父视图控制器中删除它。 我错过了什么吗? 在我原来的项目(不是testing案例)中,乐器向我展示了那些控制器留下的内存空间,我无法摆脱。

RestKit核心数据NSError dealloc崩溃

试图深入到我在生产版本中看到的问题的底部,最终在testing时能够重现它。 使用RestKit v0.23.1,当使用下面的代码(插入到乐器中)执行RKManagedObjectRequestOperation时,我得到“一个Objective-C消息被发送到一个释放的'NSError'对象(僵尸)”,并且每次有对象时应用程序崩溃响应JSON – 如果响应类似于“objects =();” 没有崩溃 – 所以我猜测它在RestKit / Core Data映射或存储中的某处? RKManagedObjectRequestOperation *objectRequestOperation = [_objectManager managedObjectRequestOperationWithRequest:request managedObjectContext:_objectManager.managedObjectStore.mainQueueManagedObjectContext success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { DDLogInfo(@"INSIDE SUCCESS BLOCK"); } failure:^(RKObjectRequestOperation *operation, NSError *error) { DDLogInfo(@"INSIDE ERROR BLOCK"); }]; [objectRequestOperation setWillMapDeserializedResponseBlock:^id(id deserializedResponseBody) { DDLogInfo(@"Response JSON: %@", deserializedResponseBody); return deserializedResponseBody; }]; objectRequestOperation.savesToPersistentStore = YES; [objectRequestOperation start]; 原始JSON在setWillMapDeserializedResponseBlock中正确logging,但成功和错误块内的日志永远不会到达。 这里是我从crashlytics得到的堆栈跟踪: Thread […]

iOS中的Dealloc方法并将对象设置为nil

我有一个非常基本的问题。 在我看到的一些例子中,对象只是在dealloc方法中被释放。 在其他情况下,对象被释放,然后设置nil 。 是否有一个原因? 释放后是否设置为有利?