Object-C类和对象中的self
来源:互联网 发布:公众号助手mac 编辑:程序博客网 时间:2024/04/29 10:50
在OC的类中,有一个比较特殊的关键字self,跟OC中其他大多数的类关键字不一样,并不是以@开头。其他语言中也有类似的关键字,但是OC中的self用得更多,更好用。
self的本质就是一个指针,指向调用当前方法的对象,即谁调用这个方法,self就指向谁。
作用:
1. 指向了当前对象
#import <Foundation/Foundation.h>
@interface Person: NSObject
{
int _age;
}
- (void)setAge:(int)age;
- (int)age;
- (void)test;
@end
@implementation Person
- (void)setAge:(int)age
{
//_age = age;
self->_age= age;//调用当前对象成员变量
}
- (int)age
{
returnself->_age;
}
- (void)test
{
[self setAge:10];//调用当前对象方法
NSLog(@"age=%d", [self age]);
}
@end
intmain(int argc, constchar *argv[]) {
@autoreleasepool {
Person *p = [[Person alloc] init];
[p test];
}
return0;
}
2. 指向了当前类
#import <Foundation/Foundation.h>
@interface Person:NSObject
+ (void)test1;
+ (void)test2;
@end
@implementation Person
+ (void)test1
{
NSLog(@"调用了test1方法");
}
+ (void)test2
{
[selftest1]; //调用当前类方法
NSLog(@"调用了test2方法");
}
@end
int main(int argc,constchar *argv[]) {
@autoreleasepool {
[Persontest2];
}
return0;
}
使用注意:
1. 不能使用self调用本方法,否则会导致死循环。
2. 注意调用者,如果当前调用者是对象的话,不能用self调用类方法,如果当前调用者是类的话,不能用self调用对象方法。
- Object-C类和对象中的self
- object-c中的self和super
- object-c 中的 self 含义
- 黑马程序员-Object-C封装,和对象.类方法,self关键字的用法总结
- 关于object-c中的super与self
- self 和 super 详解 -Object-C
- Object C---super&self
- Object-c self super
- Object-c------self
- 【Objective-C】06-OC对象中的self
- Object-C中的数字对象
- object-c中类,对象和方法
- object-c基础-创建类和对象
- Object-C,对象和方法
- Objective-C中的self和super
- Objective-C 中的关键字 self 和 super
- Objective-c中的self和super
- Objective-C中的self和super
- activity状态保存讲解四
- 时间管理
- 指针与数组名
- Hexo-mac下搭建hexo博客全过程
- 随机产生长度为[0,20]的字符串
- Object-C类和对象中的self
- Web服务器的工作原理说明
- 辛星浅析/etc/fstab文件
- UIKit基础:12.使用MVC设计模式管理创建美女浏览器
- Object-C之协议Protocol
- char[]与char*
- sicily_1150 & sicily_1151
- ZOJ 1007 Numerical Summation of a Series
- POJ 1014 Dividing