类方法和实例方法有什么区别?
实例方法是访问器(getter 和 setter),而类方法几乎是其他所有东西?
最佳答案
就像大多数其他答案所说的那样,实例方法使用类的实例,而类方法可以仅与类名一起使用。在 Objective-C 中,它们是这样定义的:
@interface MyClass : NSObject
+ (void)aClassMethod;
- (void)anInstanceMethod;
@end
然后可以像这样使用它们:
[MyClass aClassMethod];
MyClass *object = [[MyClass alloc] init];
[object anInstanceMethod];
类方法的一些真实世界示例是许多 Foundation 类中的便捷方法,例如 NSString
的 +stringWithFormat:
或 NSArray
的+arrayWithArray:
。实例方法是 NSArray
的 -count
方法。
https://stackoverflow.com/questions/1053592/
相关文章:
ios - 应用程序在应用程序启动结束时应该有一个 Root View Controller
ios - @import 与 #import - iOS 7
objective-c - "__block"关键字是什么意思?
c - 是否可以使用 NSLog C 结构(如 CGRect 或 CGPoint)?
objective-c - 在objective-c/cocoa中抛出异常
ios - 文件是通用的(三个切片),但它不包含 iOS 上静态库的(n)ARMv7-s 切片错误,