我已经玩了一段时间的iPhone开发,虽然当你是一个"硬核".NET开发人员时感觉有点尴尬,但是一旦你习惯它就不会那么糟糕.
在我读到的关于Objective-C的每本书中,都只讨论了内存管理的保留/释放(引用计数).作为一个古老的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);
Run Code Online (Sandbox Code Playgroud)
这确实是最好的方式,还是应该避免普通的C内存管理?
我正在尝试创建一个定期更新的折线(MKPolyline)叠加层,以模拟对象的移动.我可以通过删除旧的叠加层,更新折线并再次添加叠加层来实现此目的,但这会导致闪烁.
对于一个点注释(MKPointAnnotation),你可以简单地改变其坐标,视图将无需拆卸和重新添加注释,可以自动地更新顺利.
这也可能以某种方式覆盖?