在Objective-C中的方法

在Objective-C中,方法可以分为两种类型:实例方法和类方法

1. 实例方法(Instance Methods):
实例方法是与类的实例相关联的方法。它们依赖于实例的状态并对其进行操作。如果想要调用对象方法就必须要先创建对象通过对象名来调用,实例方法使用加号(-)符号来声明和实现

@interface MyClass : NSObject
- (void)doSomething;
@end

@implementation MyClass
- (void)doSomething {
    // 实例方法的实现
    // ...
}
@end

// 调用实例方法
MyClass *myObject = [[MyClass alloc] init];
[myObject doSomething]; // 使用方括号调用
myObject.doSomething; // 使用点语法调用

2. 类方法(Class Methods):
类方法是与类本身相关联的方法,而不是类的实例。它们不依赖于特定的实例并可以直接通过类名来调用。类方法使用加号(+)符号来声明和实现

@interface MyClass : NSObject
+ (void)doSomething;
@end

@implementation MyClass
+ (void)doSomething {
    // 类方法的实现
    // ...
}
@end

// 调用类方法
[MyClass doSomething]; // 使用方括号调用
MyClass.doSomething; // 使用点语法调用

在方法的定义中,实例方法以减号(-)开头,类方法以加号(+)开头。这是Objective-C的命名约定,并有助于区分不同类型的方法。

 在类方法中不能直接访问属性.
1),属性是在对象创建的时候.跟随着对象一起创建在对象之中.
2),类第1次被访问的时候,会做类加载,是把类的代码存储在代码段
因为属性只有在对象创建的时候才会创建在对象之中,
而类方法在执行的时候,有可能还没有对象。对象都没有
你访问个毛的属性,
虽然不能直接访问属性,但是我们可以在类方法中创建1个对象访问这个对象的属性,
在类方法中也不能通过self直接调用当前类的其他的对象f方法
因为对象方法只能通过对象来调用而这个时候没有对象,

你可能感兴趣的:(OC,objective-c,ios,开发语言)