iphone – NSURLConnection的“描述”失败

前端之家收集整理的这篇文章主要介绍了iphone – NSURLConnection的“描述”失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个派生自NSURLConnection的类.奇怪的是,当指向NSURLConnection时,描述和dealloc失败(即使实际的数据传输操作成功).

这是我班级的init方法

-(id) init {
    self = [super init];
    NSLog(@"%s -- self description is %@",__PRETTY_FUNCTION__,[self description]);
    NSLog(@"%s -- super description is %@",[super description]);
    return self;
}

这是执行此代码的日志输出(我实现了我的类的描述):

2011-08-24 10:41:40.493 SleepyHead[77578:207] -[BinaryExchange init] -- self description is <BinaryExchange>
(gdb) continue
Program received signal:  “EXC_BAD_ACCESS”.

发生这种情况时,调试器将在[超级描述]行上停止,并在调用NSURLConnection描述时停止.

到底他妈发生了什么?

(我尝试在此之前分配并不启动该类的另一个副本,因为有可能使用了一块虚假堆,但我仍然遇到同样的失败.)

添加

即使这个序列失败了:

NSURLConnection* dummy = [[NSURLConnection alloc] init];
NSLog(@"%s -- dummy NSURLConnection description is %@",[dummy description]);

解决方法

如果发生崩溃,则会有回溯.发表它.

但是,奇怪的崩溃.

[超级描述]非常接近废话.描述方法不打算在生产环境中使用;是一种开发方法.

您是否覆盖了子类中的描述?

分配而不是启动另一个并没有真正做任何事情.它甚至可能不会分配任何东西.大多数类集群和许多其他类(作为实现细节)将在alloc上返回单例,并且直到初始化才会实例化特定子类.

哦 – NSURLConnection不使用init作为指定的初始化程序.它需要一个请求.更有可能的是,通过调用init,您实际上并没有初始化类,并且由于未定义的内部状态而导致崩溃相当惊人.

使用initWithRequest:….

猜你在找的Xcode相关文章