Objective-C中的实例方法和类方法有什么区别?
可能重复:Objective-C中的实例方法和类方法有什么区别?,objective-c,Objective C,可能重复: 在ObjC中,方法名称前的一个破折号表示它是一个实例方法。方法名称前的加号表示它是类方法。但是编程有什么区别呢?在对象上调用实例方法。在类上调用类方法 例如,行: SomeClass*对象=[[SomeClass alloc]init] 在这里,您可以看到alloc在某个类上工作,而不是在对象上 鉴于: [对象调用MyFunction];将作用于对象而不是类。这是一种实例方法。这两种方法的主要区别在于前者,即在声明该类的实例调用它之前,使用单破折号,即必须创建该类的一个实例,表示该
在ObjC中,方法名称前的一个破折号表示它是一个实例方法。方法名称前的加号表示它是类方法。但是编程有什么区别呢?在对象上调用实例方法。在类上调用类方法 例如,行: SomeClass*对象=[[SomeClass alloc]init] 在这里,您可以看到alloc在某个类上工作,而不是在对象上 鉴于:
[对象调用MyFunction];将作用于对象而不是类。这是一种实例方法。这两种方法的主要区别在于前者,即在声明该类的实例调用它之前,使用单破折号,即必须创建该类的一个实例,表示该类的一个对象,并使用。可以调用实例方法 在类方法中,可以使用类名直接调用后面的方法。要调用类方法,不需要任何对象
请参阅apple开发者文档类方法和实例方法的区别在于 实例方法需要它将在其上运行的类的实例 一般操作。调用实例方法的消息必须是 发送到类的实例 类方法最常见的单一用途可能是object 工厂;发送给类以创建实例的消息 根据您发送的参数进行配置。例如在 NSString类有几个名为 StringWithSomethingOther:将创建一个新的NSString对象 把它还给你 另一方面,NSString也有许多实例方法- 如果没有一个实际的实例,这些操作实际上毫无意义 与……合作。一个常用的方法可能是length方法,它告诉我们 您可以查看要添加到的特定NSString实例中有多少个字符 消息已发送 也看到这个。 这里