![]() |
1
2
我有时有一个
您将使用此声明定义方法:
这个
|
![]() |
2
1
实现这一点有几种方法。这取决于这些类是什么,它们可能需要您所讨论的方法。换句话说,它取决于您需要的集成级别。例如,该方法是否需要处理封装在这些类中的数据。 一种方法是使用实现特定方法的单例帮助器类。 另一种方法是使用静态方法(squegy在他的答案中非常简单地起草了一些东西)的助手类。 另一种方法是创建一个包含特定方法的基类,而所有其他需要此方法的类只需扩展该基类。让我为您起草这个: BaseClass.h: @interface BaseClass { }; - someNiftyMethodWith:(NSString *)someCoolParameter; @end BaseClass.m: @implementation BaseClass - someNiftyMethodWith:(id)someCoolParameter { NSLog(@"yoy, that was easy to print %@ into the console", someCoolParamater); } @end ExtendingClass.h @interface ExtendingClass : BaseClass { }; - someMethodThatNeedsHelp; @end ExtendingClass.m @implementation ExtendingClass - someMethodThatNeedsHelp { [self someNiftyMethodWith:@"called by the extending class"]; } @end 在使用目标C时,还有更多的方法来实现您可能需要的东西。注意类别、委托和协议。 最后但同样重要的是,在这样的头文件中注册了一个普通的C函数,这是一个非常古老的解决方案: Helper.h: void OldSchoolHelperFunction(void) { printf("simple helper function"); };
#import "Helper.h" @implemenation FooBar - someMethodThatNeedsHelp { OldSchoolHelperFunction(); } @end |
![]() |
4
0
类之间需要有多少代码是公共的?在这种情况下,可能首先创建一个基类,然后为其他类继承它。 |
![]() |
WkWk · Apple Watch动作通知不起作用 3 年前 |
![]() |
Otavio Miguel · 在手机中保留我自己未发布的ios应用 3 年前 |
![]() |
Nico Passaglia · 移动键盘向上移动站点 6 年前 |