objective-c - 类方法和实例方法有什么区别?

类方法和实例方法有什么区别?

实例方法是访问器(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

objective-c - 比较浮点值有多危险?

ios - @import 与 #import - iOS 7

objective-c - "__block"关键字是什么意思?

c - 是否可以使用 NSLog C 结构(如 CGRect 或 CGPoint)?

ios - 在 iOS 中获取当前设备语言?

objective-c - 在objective-c/cocoa中抛出异常

ios - 文件是通用的(三个切片),但它不包含 iOS 上静态库的(n)ARMv7-s 切片错误,

ios - AVFoundation, captureStillImageAsynchronousl

ios - 如何隐藏 UINavigationBar 1px 底线