OC里Self的应用
来源:互联网 发布:MAC maven安装配置 编辑:程序博客网 时间:2024/05/21 07:01
一、 Self:相当于java里的this指针
1.应用场景:
1)用在类方法里
2)用在对象方法里
3)访问成员变量
4)Self在OC的内存管理特殊使用
2.在对象方法里的使用:指定的是当前对象
1)我们先创建一个Person类,里面有两个方法不带参数的run 与带参数的eat 方法
然后调用run 方法
@interface Person :NSObject{}-(void) run;-(void) eat:(NSString *) footName;@end@implementation Person-(void) run{ @NSLog(@"somebody is running");}-(void) eat:(NSString *) footName{ @NSLog(@"somebody is eatting", footName); //在此使用self [self run];}@end
2)在主类里使用Person类
首先的引入头文件,然后在主函数里创建对象,调用eat方法就能实现调用run方法
#import "person.h"int main(int argc, const char * argv[]){ @autoreleasepool { Person *p = [Person new]; [p eat]; } return 0;}
3.在类方法里的使用:指定的是当前类
1)我们先创建一个Person类,里面有两个方法不带参数的walk与带参数的take方法
然后调用walk方法
@interface Person :NSObject{}+(void)walk;+(void)take:(NSString*) footName;@end@implementation Person+(void)walk{ NSLog(@"somebody is walking");}+(void)take:(NSString*) footName{ NSLog(@"somebody is taking %@", footName); [self walk];}@end
2)在主类里使用Person类
首先的引入头文件,然后在主函数里创建对象,调用eat方法就能实现调用run方法
#import "person.h"int main(int argc, const char * argv[]){ @autoreleasepool { [Person take]; Person p= [Person new]; //打印类的地址 结果是两种都相同 NSLog(@"Person = %p",[Person class]); NSLog(@"Person = %p",[p class]); } return 0;}
4.Self修饰变量
1)我们先创建一个Person类,创建set与get方法
@interface Person : NSObject{ @public int _weight;}-(void) setWeight:(int) weight;-(int) getWeight;@end@implementation Person//在此处使用self-(void) setWeight:(int) weight{ self->_weight = weight;}-(int) getWeight{ return self->_weight;}@end
2)在主类里使用Person类
#import "person.h"int main(int argc, const char * argv[]){ @autoreleasepool { Person p= [Person new]; [p setWeight:50]; int weight = [p getWeight]; NSLog(@"weight = %d",weight); } return 0;}
5.总结:
谁调用self就代表谁
0 0
- OC里Self的应用
- python里的self
- OC中self的使用
- OC---self关键字的使用
- OC--继承 self 的概念
- iOS block里的self
- iOS block里的self
- iOS block里的self
- 关于ios 里的self
- 70,self的应用
- OC类方法关于self的说明
- OC 中self. 与 下划线的区别
- oc继承self,super的作用
- OC中self和super的使用
- OC 中self. 与 下划线的区别
- OC 中self. 与 下划线的区别
- OC基础-self关键字的用法10
- 关于self 类的应用
- struts2下无法用直接通过路径访问.jsp的页面
- 选择器
- BIRT中表格隔行换颜色效果
- Service
- HDU 1057 模拟
- OC里Self的应用
- CoreData简单地的使用
- Leetcode 350. Intersection of Two Arrays II
- IPC通信之-管道
- poj 1011 经典的剪枝
- 快捷键大全
- Python3 爬虫(三) -- 爬取豆瓣首页图片
- 调用系统相机和系统相册,并保存到沙盒中
- Android 6.0 ListFiles 返回null