困了我一天的bug (赢在细节)

来源:互联网 发布:淘宝宝贝怎么复制淘宝 编辑:程序博客网 时间:2024/04/29 05:26

if (_delegate && [_delegate respondsToSelector:@selector(tableViewSelectedWithOrganization:)]) {if (!_lastSelectOrganization) {       [_lastSelectOrganization release];                _lastSelectOrganization = [(SyOrganizationDragItem *)[_orgContainerView.dragItemDic.allValues lastObject] organization];             [_lastSelectOrganization retain];             }              _lastSelectOrganization.isChoose = NO;             [_delegate tableViewSelectedWithOrganization:_lastSelectOrganization]; }




                }

_lastSelectOrganization 这个你没有retain而做了release释放。

而被释放的对象正是_chooseOrganizationArray里面的对象,导致释放了2两次,所以当_chooseOrganizationArray释放的时候,导致崩溃了。


代码规范

1、方法与方法之间的行间需要空一行,你的类里面都没有换行。
2、方法名后面的“{”需要有一个空格的间距。如:- (void)setup{
应该为- (void)setup {
3、if else直接也需要有换行, 如:}else{ 需要该为:
if (XXX) {
// 
}
else {
// 代码区域
}
4、@end结束标记需要前后空一行
5、方法名始终是以小写字母开头,参数名也是小写开头,都需要按照驼峰命名方式 如:- (void)OrgDragItemTouchesBegan:(SyOrganizationDragItem *)aDragItem{



谢谢友林!


2013.03.13 铭记。