小编Chu*_*tte的帖子

如何避免使用xcode 4.5 w/o ARC的僵尸错误?

当我在启用了僵尸的xcode 4.5.1(LLDB)调试器中运行我的应用程序(不使用ARC)时,在调用 - [super dealloc]( - [NSObject dealloc])时,我得到两次错误(2):

* - [V2APIClient class]:发送到解除分配的实例的消息0x9d865c0* - [V2APIClient class]:发送到解除分配的实例0x9d865c0的消息

当我在xcode 4.4.1(LLDB)调试器中运行相同的应用程序时,我收到错误消息一次(1).当我在XCode 4.3.2中运行相同应用程序的稍早版本时,我根本没有收到错误消息(0).我将使用相同/最新的代码重试此操作.

仅供参考-这似乎是完全一样的问题,因为这等后,至今尚未得到答复: - [Foo类]:发送到释放实例上的消息[超级的dealloc] )

我试图避免两次重复提出同样的问题,但我建议继续:https: //meta.stackexchange.com/questions/152226/avoiding-asking-a-question-thats-already-been-asked

另外,我刚刚在Apple开发者论坛中提出了相同的问题:https: //devforums.apple.com/thread/171282

最后,这是我班级的精髓:

@interface ASIHTTPRequestHandler : NSObject {
  id _error;
}
@property (nonatomic,retain) id error;
@end

@implementation ASIHTTPRequestHandler
@synthesize error = _error;
-(id)init
{
    self = [super init];
    if (self)
    {
        self.error = nil;
    }
    return self;
 }

 -(void)dealloc
 {
     self.error = nil;
     [super dealloc];// this is the line that appears to …
Run Code Online (Sandbox Code Playgroud)

memory-management objective-c ios automatic-ref-counting

6
推荐指数
1
解决办法
1150
查看次数

NSOperation 已准备就绪但未在 iOS 7 上启动

我们创建了一个操作框架来添加一些在基类中没有的功能(例如跟踪成功/失败)。父操作通常是非并发的,可能只是为了管理子操作而存在。通常并发的子操作(异步下载 xml 和媒体)。

当我们在 iOS 7 上运行我们的应用程序时,将一些操作添加到操作队列中,大约有 3/4 的操作完成,然后应用程序似乎挂起。

当我在调试器中暂停应用程序,并检查队列中的操作 (sOpQueue.operations) 时,其中许多已准备好运行(isReady 返回 TRUE),但显然它们都没有执行(isExecuting 返回 FALSE,而我看不到任何线程上运行的任何操作的证据)。

这是 iOS 7 的新问题。

当我增加或减少并发操作的数量时,行为似乎没有改变。

有没有人对如何确定未启动就绪操作的原因有任何建议?

谢谢,查克

nsoperation nsoperationqueue ios

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