Category Archives: Mac/iOS

最近也Objective-C了

还是换回原来的主题了,Apple风格的那个主题在显示上还是有不少问题。Objective-C接触了2个多星期,写一下上手体验。 内存管理初体验 最近看了看objective-c,主要是要理解好objective-c的内存管理机制,其他的和c/c++差别就不大了。虽然objective-c 2.0提供了gc,但是要写出高效的程序当然要靠自己去管理好内存,特别是在移动设备上。在接触内存管理的时候google了几篇文章,都说得不清楚,后来看了看官方的文档,才在使用上有了比较清晰的理解。其实归根结底是理解下面这2种初始化的区别:(以NSString为例) NSString *string1 = [[NSString alloc] initWithString:@”Hello World!”]; NSString *string2 = [NSString stringWithString:@"Hello World!"]; string1是需要自己调用release(和创建在同一作用域释放)或者autorelease(string1作为函数返回值的时候),因为用alloc创建的对象是说明一种拥有关系(own,即retain count相应为加1,copy/retain也是),而string2则不是拥有关系,则自己不用调用release。因此,@property中的三个属性,assign/retain/copy也就更好理解了。 assign是弱引用,retain count不变化; retain就是强引用,声明拥有关系,retain count加1; copy就是拷贝新的对象并引用到拷贝上。

Posted in Mac/iOS | Leave a comment