加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – NSURLConnection的“描述”失败

发布时间:2020-12-14 17:53:06 所属栏目:百科 来源:网络整理
导读:我有一个派生自NSURLConnection的类.奇怪的是,当指向NSURLConnection时,描述和dealloc失败(即使实际的数据传输操作成功). 这是我班级的init方法: -(id) init { self = [super init]; NSLog(@"%s -- self description is %@",__PRETTY_FUNCTION__,[self desc
我有一个派生自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:….

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读