Dan*_*ger 1 iphone cocoa objective-c
我即将创建一个将两个NSDateComponent添加到一起的函数,将它放入C样式函数还是应该用于Obj-C方法有什么好处?
有没有理由使用一个而不是另一个或者我应该总是坚持使用Obj-C?
顺便说一下:并不是说它确实有所不同,但这适用于iPhone上的应用程序
非常感谢
在Objective-C中,正确的术语不是"在对象上调用方法",而是"向对象发送消息".
这使决策变得容易:您是否向对象发送消息?你是在告诉它做某事还是要求它提供信息?如果是,则通过将代码放入方法中使对象响应该消息.如果不是(如果任务独立于任何对象),则使其成为一个函数.
您可以浏览Foundation函数,UIKit函数和AppKit函数列表,以获取使某些东西属于函数而不是方法的对象独立性的示例.
我即将创建一个将NSDateComponents添加到一起的函数将这个函数放入C风格函数还是应该用于Obj-C方法?
我会把它放到一个分类到NSDateComponents上的实例方法中.呼叫(消息)看起来像[componentsA componentsByAddingComponents_PRH:componentsB]
.(请注意,我添加了我的首字母缩写,以便如果Apple添加了componentsByAddingComponents:
自己的方法,当用户将其设备升级到新操作系统时,我的应用程序的行为不会突然改变.)
一个现有的例子是NSDecimalNumber的decimalNumberByAdding:
方法.