pas*_*aya 16 methods class objective-c instance
我查看了所有这些问题......
...他们解释的是当一个消息被发送到一个类时,实例方法如何在类的实例上使用,类方法与类一起使用.这很有用,但我很想知道为什么会使用类方法而不是实例方法.
UIA*_*dam 46
一般来说,当您需要在特定对象实例上运行的代码时,您应该创建实例方法.当您需要执行一般涉及该类的某些操作时,您可以创建一个类方法,但可能不会对该类的任何特定对象进行操作.
在实践中,您会发现几乎所有方法都应该是实例方法.只要看看在任何现有的Objective-C类一样NSString,NSArray,UIView等,你会看到,绝大多数的他们的方法是实例方法.类方法的最常见用法(再次,查看我提到的类)是为了方便构造函数返回autorelease对象或单例访问器.
考虑一下length方法NSString.为什么这是一个实例方法而不是类方法?它是一种实例方法,因为只询问特定实例的NSString长度是有意义的.要求NSString一般的长度(即,如果长度是一个类的方法),将没有任何意义.
另一方面,假设我们想要添加一个方法NSNumber,它将返回可存储在给定系统上的最大整数值.在这种情况下,它应该是一个类方法,因为我们只是问一个普遍的问题,NSNumber它独立于任何特定的实例.
| 归档时间: |
|
| 查看次数: |
15613 次 |
| 最近记录: |