在类中声音的变量不用进行Release吗?为什么应用报:EXC_BAD_ACCESS

javamy030 2013-12-11 11:58:26
如我的类
WeiboView.h

@interface WeiboView : UIView <RTLabelDelegate>
{
@private
RTLabel *_textLabel; //微博内容
UIImageView *_image; //微博图片
UIImageView *_repostBackgroundView; //转发的微博的背影图片
WeiboView *_repostView; //转发的微博视图
NSMutableString *_parseText; //格式化HTML后的字符
}

WeiboView.m


- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self _initView];//这里对上面的几个谜题进行初始化
}
return self;
}
- (void)dealloc
{
[_textLabel release];
[_image release];
[_repostBackgroundView release];
[_parseText release];
[super dealloc]; //程序在这里报EXC_BAD_ACCESS错误,然后我把上面的4句代码注释掉的话就不会报了
}

那么是不是说在.h里面声明的亦是不用在dealloc进行中进行release,而是系统会自动释放?
谢谢
...全文
139 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
creso 2014-01-07
  • 打赏
  • 举报
回复
LZ某个view release了2次,因为在controller dealloc的时候也会release subview,所以错误报在super dealloc上
testing2007 2013-12-25
  • 打赏
  • 举报
回复
在xcode中使用profile运行,然后用instruments tools -》zombie,当崩溃的时候可以看到使用的所有引用技术情况及崩溃的地方。不知道是不是一定要使用真机,我调试的时候使用的是真机做的。
_0筱筱0_ 2013-12-13
  • 打赏
  • 举报
回复
打开内存工具 运行一下 或者 在每个init的地方打印出变量的数量来 看是不是多释放了....
LichKingSZ 2013-12-13
  • 打赏
  • 举报
回复
也建议一个,搞清楚内存管理机制后再使用ARC
王端晴 2013-12-11
  • 打赏
  • 举报
回复
这种问题的出现说明,已经释放内存的对象再次释放会出现的错误。你Debug一下,看看这四个对象那个已经被释放了,确定了哪一个后,再去检查代码是不是前面释放过了。随便提一句,推荐使用ARC
LichKingSZ 2013-12-11
  • 打赏
  • 举报
回复
可能还是僵尸指针的问题,可参考下面的方法打开僵尸指针错误日志,查看具体是哪个对像出了问题: http://stackoverflow.com/questions/3426709/iphone-exc-bad-access-when-calling-super-dealloc-on-a-custom-uiviewcontroller
javamy030 2013-12-11
  • 打赏
  • 举报
回复
//微博内容 _textLabel = [[RTLabel alloc] initWithFrame:CGRectZero]; -------------------- 都是alloc出来的, 我出错的地方不是Release,而是在 [super dealloc]; //程序在这里报EXC_BAD_ACCESS错误 谢谢
LichKingSZ 2013-12-11
  • 打赏
  • 举报
回复
只要alloc以后就要release,不过看不到你的赋值代码,估计有可能你把局部变更赋给了这些全局变量,你可以在release之前先判断一下: if (_textLabel) [_textLabel release];
YOLO系列是基于深度学习的端到端实时目标检测方法。 PyTorch版的YOLOv5轻量而高性能,更加灵活和易用,当前非常流行。 本课程将手把手地教大家使用labelImg标注和使用YOLOv5训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。  本课程的YOLOv5使用ultralytics/yolov5,在Windows和Ubuntu系统上分别做项目演示。包括:安装YOLOv5、标注自己的数据集、准备自己的数据集(自动划分训练集和验证集)、修改配置文件、使用wandb训练可视化工具、训练自己的数据集、测试训练出的网络模型和性能统计。 除本课程《YOLOv5实战训练自己的数据集(Windows和Ubuntu演示)》外,本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括:《YOLOv5(PyTorch)目标检测:原理与源码解析》课程链接:https://edu.csdn.net/course/detail/31428《YOLOv5目标检测实战:Flask Web部署》课程链接:https://edu.csdn.net/course/detail/31087《YOLOv5(PyTorch)目标检测实战:TensorRT加速部署》课程链接:https://edu.csdn.net/course/detail/32303《YOLOv5目标检测实战:Jetson Nano部署》课程链接:https://edu.csdn.net/course/detail/32451《YOLOv5+DeepSORT多目标跟踪与计数精讲》课程链接:https://edu.csdn.net/course/detail/32669《YOLOv5实战口罩佩戴检测》课程链接:https://edu.csdn.net/course/detail/32744《YOLOv5实战国交通标志识别》课程链接:https://edu.csdn.net/course/detail/35209 《YOLOv5实战垃圾分目标检测》课程链接:https://edu.csdn.net/course/detail/35284  

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧