11
|
Dan Rosenstark · 技术社区 · 14 年前 |
1
10
使用常规对象,直到遇到可测量的性能瓶颈。我使用了高级代码,即使在紧凑的游戏循环中也没有问题消息传递,收集类,自动释放池,没有问题。 |
2
14
如果你开始做你自己的
我更喜欢把所有东西都做成实物。如果有的话,使用垃圾收集。 而且,不要问别人某样东西是否值得优化。你自己用仪器或别的什么来测量。根据不同的环境(ppc与intel、osx与iOS、iPad与iPhone),在以前的系统中速度更快的一种方式在新系统中可能会更慢。 |
3
11
一个Objective C对象的存储空间几乎与结构体相同,只是它比结构体大4字节(64位上为8字节)。就这样-只需将一个指针指向运行时保存所有类信息的位置。 如果你的内存太紧,那么就丢失4个字节,但通常这只适用于大量的对象:50000个Nsobjects vs structs只有20万个—你可以用这20万个对象得到很多东西。对于100万个对象,iPhone的成本会加起来。
|
4
5
我认为在不需要行为的情况下,使用结构来保存少量的基元(即非对象)类型完全没有问题。可可框架中已经有几个这样的例子( CGRect, CGSize, CGPoint , NSRange 例如)。 不要使用结构来保存Objective-C对象。它使引用计数环境中的内存管理复杂化,并可能在GC环境中完全中断。 |
5
3
对我来说,我更喜欢使用常规对象,因为你可以很容易地用它做对象工作,比如保留、释放、自动释放。我在Cocoa框架中只看到很少的结构,比如CGSize、CGRect和CGPoint。我认为原因是它们被大量使用 |
6
1
我认为,如果你正在处理基于C的框架,那么特别使用structs是一个好主意,比如OpenGL、CoreGraphics、CoreText,特别是那些需要两个/三个int、double、chars等的东西(如果它们还没有在一些Apple框架中实现:CGRect、CGPoint、CTRect、NSRange,等…)C的东西发挥和其他C的东西看起来更好。 我不认为我会编写一个包含几个int的NSObject子类。这简直太可笑了。大声笑。 |
WkWk · Apple Watch动作通知不起作用 2 年前 |
Otavio Miguel · 在手机中保留我自己未发布的ios应用 2 年前 |
Nico Passaglia · 移动键盘向上移动站点 6 年前 |