有没有一种方法可以从其他类访问方法,而无需在Objective-C中创建对象?如何从其他类访问方法而不在objective-c中创建对象?
1
A
回答
5
我怀疑你真的在寻找类方法; Objective-C与其他语言的static
方法相同。请参阅:What is the difference between class and instance methods?
要定义一个:
@implementation MONObject
+ (void)classMethod { ... }
@end
在使用中:[MONObject classMethod]
如果您希望实例方法,可调用的C函数,见class_getInstanceMethod
,或者干脆IMP imp = [MONClass instanceMethodForSelector:@selector(someSelector)];
。
2
使用+符号通过类名.m文件来定义方法,这将使其静态方法,访问这样
在.h文件中
+ (void) someMethod;
+ (void) someMethod {}
比你可以很容易地通过其他文件中的类名访问它
[ClassName someMethod];
注意:不要忘记导入该类。
+1
有没有这样的事情作为静态方法Objective-C的。带有'+'前缀的方法是类方法,这是完全不同的。 – jlehr
8
@interface APotentiallyBadIdea : NSObject
+ (void)potentiallySillyUnmooredMethod:(NSString *)string;
@end
@implementation APotentiallyBadIdea
+ (void)potentiallySillyUnmooredMethod:(NSString *)string {
NSLog(@"ask yourself why this isn't on a real object %@", string);
}
@end
这样称呼它:
[APotentiallyBadIdea potentiallySillyUnmooredMethod:@"this might be ok if it's part of a more complete object implementation"];
相关问题
- 1. 从其他方法访问对象
- 2. 从其他类访问在主要方法中的对象
- 3. 无法访问其他类的对象
- 4. 无法访问我在其他类上创建的方法
- 5. 访问其他类/对象中的方法和变量(其中的对象btw)?
- 6. 如何在其他类中使用多个参数和访问对象(及其值)创建类对象数组?
- 7. 从另一个类的创建对象访问类的方法
- 8. 如何从其他类访问列表中的对象?
- 9. 从其他类访问方法Objective-C
- 10. 当通过其他类构造函数在主方法中创建对象时访问对象属性
- 11. 如何访问在主要方法中创建的对象
- 12. 在类中存在PHP方法而不创建对象
- 13. 如何从创建的类中访问特定对象从
- 14. 从另一个类访问在主类中创建的对象方法
- 15. 如何从Android类访问其他类方法?
- 16. 重写超类如何知道方法而不创建对象
- 17. 如何从包中的所有类访问方法而无需在java中创建对象
- 18. 如何创建一个Global FileInputStream对象,该对象可以从我的项目中的其他类访问?
- 19. C++ \ CLI如何用许多其他类可访问的方法创建utils类
- 20. PHP - 如何从其他(多个)类访问pdo对象
- 21. 如何访问对象及其方法在另一类
- 22. 访问调用活动的方法从一个对象在其中创建
- 23. 如何从其他方法访问java中的方法?
- 24. 在JOptionPane创建的其他方法中访问字符串?
- 25. C#阻止从其他线程访问所有对象方法
- 26. iOS从其他方法访问动态创建的标签
- 27. 访问其他类的对象
- 28. Android - 访问其他类的对象(Java)
- 29. 如何访问类中的其他类方法(PHP)
- 30. 访问模型的方法,而无需创建一个对象
是,类方法?你可以在方法声明的前面添加'+'而不是'-',然后你可以像'[MyClass myMethod]'那样调用它;' – LuckyLuke
这是怎么回事?你能告诉它吗? – Hayzum
目标c中的Google类方法。它们是属于类实例的方法,而不属于特定类的对象。 – LuckyLuke