关于Objective-C中的整数和内存管理

时间:2010-10-20 16:28:18

标签: iphone performance memory-management cocos2d-iphone

我在我的一个项目(循环的一部分)中有这段代码:

newPath = [tileMap updatePathFromNode:point1 toNode:point2];
int x,y; 
x = [[newPath objectAtIndex:0] nodeX];
y = [[newPath objectAtIndex:0] nodeY];
currFiend.motionTarget = ccp(x*20,y*20);

我现在正在寻找整个项目周围的区域来优化代码。我很好奇的是,将上述代码更改为以下代码是否会对性能产生任何影响?我知道这个改变可能是微不足道的,甚至可以忽略不计,我想知道的是,如果它确实对init和分配x,y没有任何影响。

newPath = [tileMap updatePathFromNode:point1 toNode:point2];
currFiend.motionTarget = ccp([[newPath objectAtIndex:0] nodeX]*20,[[newPath objectAtIndex:0] nodeY]*20);

这会有什么不同吗?刮掉分配时间?节省记忆?

它比第一个片段更难阅读,但是这些方法在性能之后,而不是代码可读性。

1 个答案:

答案 0 :(得分:1)

别担心 - 这将是一次微观优化。编译器应该足够聪明以处理这样的情况。这是可读性的一个很好的例子。