在开发iOs/OsX应用程序时使用Objective C的优雅方法?

Tho*_*yer 0 cocoa objective-c ios

我已经开发了几个月的iOs和OsX应用程序,现在仍然觉得我做错了.我尝试坚持使用指南,并尝试尽可能多地使用Apple提供的对象.但似乎他们让我的代码很难理解.

例:

当我想"增加"一个NSNumber对象(这是不可变的,但你得到我的意思),我使用这样的尴尬行:

int value = [counter intValue];
counter = [NSNumber numberWithInt:value +1];
Run Code Online (Sandbox Code Playgroud)

这真的有必要吗?是否有更优雅的方式(i ++,inc(i)等)做这样简单的事情?特别是当您使用坐标时,它会变得非常令人沮丧且难以使用.

使用Objective CI时,我觉得我一直在分配,解除分配和转换对象,并浪费了我自己的时间和所有转换的CPU时间.感谢您的时间,我非常感谢您的回答,我很期待您的回复!

sos*_*orn 7

使用您的示例,您是否有任何特殊原因使用NSNumber作为计数器?使用int会更好,这样你就可以使用值++.

良好的Objective-C代码的关键是在有意义的时候使用对象.不要害怕使用非对象数据类型,并且不要害怕在需要时将其下拉(不是最佳术语).

  • 当然,计数器就是一个很好的例子.Apple在适当的情况下使用时提供的对象非常棒.例如,当您需要不同的数字表示(float,int等)或将数字序列化到磁盘时,NSNumber非常好.但是,如你所知,对于柜台来说这很糟糕. (2认同)