当前位置:  开发笔记 > 编程语言 > 正文

辅助函数在Cocoa中

如何解决《辅助函数在Cocoa中》经验,为你挑选了3个好方法。

在Obj-C类中合并辅助/实用程序函数的标准方法是什么?

即通用功能,在整个应用程序中使用,并由多个类调用.

Obj-C方法是否可以存在于类之外,或者它是否需要是C函数才能具有这种行为?



1> AnthonyLambe..:

我会将类似的函数分组为辅助类中的静态方法.然后可以使用classname而不是实例名称来调用它们.静态方法用+而不是通常的 - 来定义.

像这样:

@interface HelperClass: superclassname {
    // instance variables - none if all methods are static.
}

+ (void) helperMethod: (int) parameter_varName;

@end

这将被称为这样.

[HelperClass helperMethod: 10 ];

因为这是静态的,所以不要初始化/分配类.这具有像Helper功能一样清晰分组的优点.您可以使用独立的C函数,但随着您的应用程序变大,它可能会成为一个正确的混乱!希望这可以帮助.

托尼


类名通常应以大写字母开头(有关优秀的样式指南,请参阅http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml)

2> Peter Hosey..:

我不明白人们为什么要避免创建功能.Objective-C是C的超集,这意味着C是它的一部分.而且,它完全集成 - 它们之间没有墙.

创建功能!没关系!基金会做到了.应用程序套件做到了.核心动画做到了.核心媒体做到了.

我认为没有理由不这样做.


@AnthonyLambert:在适当的时候,我不反对类方法.当然可能有太多的函数,但也有可能有太多的类方法.如果他们在一起,他们应该在同一个班级.如果您正在为一个或两个方法创建一个类,或者将不相关的方法混合到一个模糊相关的(或更糟糕的,模糊命名的)类中,只需使它们成为函数即可.(警告标志:一个名为"MyFileUtilities"的类,没有实例方法.只需使它们成为函数.)

3> Jason Coco..:

Objective-C中有许多选项.首先,由于Obj-C是C的严格超集,因此您可以在单独的模块(源文件)中定义所有库函数,并愉快地从您已有的任何Obj-C对象/代码中调用它们.如果创建obj-c源文件(.m文件),则可以回调/使用对象.

如果您的泛型函数在逻辑上操纵其他已建立的对象(例如,对NSString进行操作),则可以使用类别在已有的类上绘制函数图形(这是有意义的).

最后,正如Tony指出的那样,您可以使用静态方法创建类(尽管我个人最喜欢这个选项).我倾向于使用一两个混合......在适当的地方添加类别,并为其他人使用标准函数.我通常只创建一个新类,设计一个类是有意义的.


对于没有真正类或类别的东西,您可以使用标准C函数.他们仍然可以在里面使用对象和引用.
推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有