关于super dealloc

   昨天的问题总算解决了,

  继承UITableViewCell创建自定义单元格,使用的的时候通过调用 [NSBundle mainBundle]loadNibName: objectAtIndex:0得到单元格,但是在刷新表格的时候进入死循环了,通过追踪,发现在单元格那里调用 dealoc那里的时候出现问题了。

 

 

原来:

-(void)dealloc
{
     [super dealloc];
     self.image = nil;

}

 

正确:

 

-(void)dealloc
{
    self.image= nil;
    [super dealloc];
}

 

不出错:

 

-(void)dealloc
{
   [super dealloc];
   [image release];
}

 

 

 

### 关于Objective-C和iOS开发资源 对于希望深入学习Objective-C以及iOS开发的开发者来说,存在多种高质量的学习资源。一系列由三部分组成的视频教程提供了关于Objective-C 2.0语言特性和面向对象编程核心概念的整体概览[^1]。 除了官方文档外,在线平台iDeveloper TV也提供了一系列针对iOS和Mac开发者的深度培训视频,尽管大部分内容需付费访问,但也有一些免费的内容可供利用,特别是来自NSConference的相关资料[^4]。 #### 客观C代码实例展示 下面是一个简单的Objective-C类定义的例子: ```objective-c #import <Foundation/Foundation.h> @interface Person : NSObject { NSString *name; } @property (nonatomic, retain) NSString *name; -(id)initWithName:(NSString *)newName; @end @implementation Person @synthesize name; -(id)initWithName:(NSString *)aName{ self = [super init]; if(self){ name = aName; } return self; } - (void)dealloc { [name release]; [super dealloc]; } @end ``` 这段代码展示了如何创建一个名为`Person`的对象,并设置了属性`name`及其初始化方法。注意内存管理中的手动释放操作。 为了简化理解,这里还给出了一段对比Swift与Objective-C处理委托模式差异的小例子。在Objective-C中实现同样的功能需要更多的样板代码来确保安全调用;而在Swift里则更加简洁明了[^3]。 ```objective-c if (myDelegate != nil) { if ([myDelegate respondsToSelector:@selector(scrollViewDidScroll:)]) { [myDelegate scrollViewDidScroll:myScrollView]; } } ``` 相比之下,Swift版本如下所示更为精炼: ```swift myDelegate?.scrollViewDidScroll?(myScrollView) ``` 通过这些资源和技术进步,可以更高效地掌握Objective-C并应用于实际项目当中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值