并不总是更少的代码更好,这是我上一课的学习
所以它来找我这个问题
在内存管理,速度等方面,还有什么更好的?
UIAlertView *message = [[UIAlertView alloc]initWithTitle:@"Notification"
message:@"My message"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:@"Cancelar",nil];
[message show];
或
[[[UIAlertView alloc]initWithTitle:@"Notification"
message:@"My message"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:@"Cancelar",nil]show];
这是一个非常短的差异(2行对1)但当你用更复杂的代码和函数减少更多的代码时,这可能会更加复杂
提前感谢答案
答案 0 :(得分:4)
堆上分配的内存是相同的,即UIAlertView
实例所需的内存。
后者会在堆栈上保存一个变量声明,这对于你正在使用的上下文来说肯定是可以忽略的。
没有任何明显的速度改进,所以只需坚持良好的编码风格,制作一个变量,并在回读自己的代码时让自己头疼。
答案 1 :(得分:2)
虽然您的第二个解决方案将占用更少的内存和时间,但通常优选的是代码可读而不是优化。在大多数情况下,代码是由一个团队开发的,并且每个阅读该代码的人都可以快速,轻松地理解它正在做什么。作为一般规则,除非证明有必要,否则不要进行优化(例如,它显着减慢了速度或导致其使用太多内存)。
答案 2 :(得分:1)
速度没有可察觉的变化,因为它们都执行相同的动作,所以也没有节省内存。
举一个类比,什么需要更少的思考,阅读“这是一个男孩!”或者“这是一个男孩!”?
无论两者之间的拼写区别如何,你花费大约相同的时间来处理信息,而且时间几乎为零。
回答你的问题(或者我认为你的问题)。两者之间的内存节省几乎没有差别,并且您不会节省任何处理时间。
让代码更容易阅读也更好。尝试阅读破碎的代码可能会浪费更多的时间,而不是像处理这样微小的差异,就像在你的例子中一样。