------
Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
self的用途:
1> 谁调用了当前方法,self就代表谁
self出现在对象方法中,self就代表对象
self出现在类方法中,self就代表类
2> 在对象方法利用"self->成员变量名"访问当前对象内部的成员变量
[self 方法名]可以调用其他对象方法\类方法
学习感言:类似于C++中的this用法。地址这个概念是不变的,因为有对象概念,所以有了指向对象的指针。
self经典用法剖析:
加油!!!
self的用途:
1> 谁调用了当前方法,self就代表谁
self出现在对象方法中,self就代表对象
self出现在类方法中,self就代表类
2> 在对象方法利用"self->成员变量名"访问当前对象内部的成员变量
[self 方法名]可以调用其他对象方法\类方法
学习感言:类似于C++中的this用法。地址这个概念是不变的,因为有对象概念,所以有了指向对象的指针。
self经典用法剖析:
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
int _age;
}
- (void)test1;
- (void)test2;
+ (void)test2;
+ (void)test3;
+ (void)test4;
- (void)test4;
@end
@implementation Person
- (void)test1
{
_age = 20;
int _age = 10;
NSLog(@"调用了-test1方法-%d", _age);
[self test2];
}
- (void)test2
{
int _age = 10;
NSLog(@"调用了-test2方法-%d", self->_age);
}
+ (void)test2
{
int _age = 20;
NSLog(@"调用了+test2方法-%d", _age);
}
+ (void)test3
{
NSLog(@"调用了+test3方法");
[self test4];
}
+ (void)test4
{
NSLog(@"调用了+test4方法");
}
- (void)test4
{
NSLog(@"调用了-test4方法");
}
@end
int main()
{
[Person test3];
Person *p = [Person new];
[p test1];
return 0;
}
相信大家看过就会明白的,是的,OC就是如此之简单, fighting!
加油!!!