这是我班级的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) continueProgram received signal: “EXC_BAD_ACCESS”.
发生这种情况时,调试器将在[超级描述]行上停止,并在调用NSURLConnection描述时停止.
到底他妈发生了什么?
(我尝试在此之前分配并不启动该类的另一个副本,因为有可能使用了一块虚假堆,但我仍然遇到同样的失败.)
添加:
即使这个序列失败了:
NSURLConnection* dummy = [[NSURLConnection alloc] init];NSLog(@"%s -- dummy NSURLConnection description is %@",[dummy description]);解决方法 如果发生崩溃,则会有回溯.发表它.
但是,奇怪的崩溃.
[超级描述]非常接近废话.描述方法不打算在生产环境中使用;是一种开发方法.
您是否覆盖了子类中的描述?
分配而不是启动另一个并没有真正做任何事情.它甚至可能不会分配任何东西.大多数类集群和许多其他类(作为实现细节)将在alloc上返回单例,并且直到初始化才会实例化特定子类.
哦 – NSURLConnection不使用init作为指定的初始化程序.它需要一个请求.更有可能的是,通过调用init,您实际上并没有初始化类,并且由于未定义的内部状态而导致崩溃相当惊人.
使用initWithRequest:….
总结以上是内存溢出为你收集整理的iphone – NSURLConnection的“描述”失败全部内容,希望文章能够帮你解决iphone – NSURLConnection的“描述”失败所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)