我已经尝试了一段时间的iPhone开发,虽然对于一个“铁杆”的.NET开发人员来说有点尴尬,但一旦你习惯了它,就不那么糟糕了。
在我读过的所有关于Objective-C的书籍中,只有关于retain
/release
(引用计数)的内存管理讨论。作为一个老派的C/C++开发人员,使用malloc()
和free()
通常是分配内存的“标准”方式,这看起来有些奇怪只有在一些脚注中才被提到。
我知道malloc()
和free()
在Objective-C中也可以使用,但我想知道这是否是常见做法。毕竟,如果我想分配一个包含100个整数的数组,这似乎是最有效的方法:
int *array = malloc(sizeof(int) * 100);
memset(array,0,sizeof(int) * 100);
// use the array
free(array);
这确实是最好的方法吗?还是我应该避免使用纯 C 的内存管理?
retain
它,然后在使用完后release
它。 - Adam Rosenfield