文档章节

OC之self详解

feng_blog
 feng_blog
发布于 2015/08/31 15:40
字数 305
阅读 28
收藏 0

self是一个指针,用在方法中时,哪个对象调用该方法self指针就指向哪个对象,可以把它当作调用该方法的那个对象的指针一样使用。

#import<Foundation/Foundation.h>

/*

 self的用途:

 1谁调用了当前方法,self就代表谁

 * self出现在对象方法中,self就代表对象

 * self出现在类方法中,self就代表类

  2在对象方法利用"self->成员变量名"访问当前对象内部的成员变量

  3 [self 方法名]可以调用其他对象方法\类方法

 */

@interfacePerson : NSObject

{

    int _age;

}

 

-(void)setAge:(int)age;

-(int)age;

-(void)test;

@end

 

@implementationPerson

- (void)setAge:(int)age

{

    // _age = age;

    self->_age =age;

}

-(int)age

{

    return self->_age;

}

 

-(void)test

{

   // self:指向了方向调用者,代表着当期对象

    int _age = 20;

    NSLog(@"Person的年龄是%d",self->_age);

}

 

@end

 

intmain()

{

                Person*p = [Person new];

     [p setAge:10];

        [p test];

        return 0;

}

使用self与super调用方法的区别:

使用self调用方法时,self先从当前类中寻找方法,如果没有寻找到再去父类中寻找。而super直接在父类中寻找方法。

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

上一篇: OC之类方法
下一篇: OC之继承
feng_blog

feng_blog

粉丝 120
博文 130
码字总数 105422
作品 3
朝阳
iOS工程师
私信 提问
IOS中 使用JavaScriptCore 实现OC与JS的交互(第二篇)

一、说明 这篇文章记录自己在研究OC与JS交互中的所得,以及遇到的问题与解决 由于苹果的审核时间太漫长,一次审核不过,那又将进入另一个漫长的审核期。为了能在开发中方便更新,公司要求在项目...

HeroHY
2016/09/26
1
0
iOS与JS交互之UIWebView-JSExport协议

级别:★★☆☆☆ 标签:「iOS与JS交互」「UIWebView与JS交互」「JSExport」 作者: Xs·H 审校: QiShare团队 先解释下标题:“iOS与JS交互”。iOS指原生代码(文章只有示例),JS指前端(不...

QiShare
2018/08/31
0
0
Objective-c和javascript通信

1、github上下载该库,地址:https://github.com/marcuswestin/WebViewJavascriptBridge 2、项目中引入该库,步骤项目github有写。 3、简单配置:[WebViewJavascriptBridge enableLogging]; ...

杭城小刘
2016/08/16
21
0
self.name&&&&_name一样&&&零碎知识点

不一样的 1.self.name 是一个方法 是setter或者getter方法 2.self.name 实现的时候考虑内存管理 3.kvo可以监听到 name只是一个普通的变量而已 --------------------------------------------...

走向未来
2015/10/24
38
0
dynamic动态分发,unsafeBitCast,自动调用的闭包-设置时,会设置一个KVO监听

//MARK: - 主题更改时,自动执行 extension NSObject { fileprivate struct AssociatedKeys { static var thmemChanged = "thmemChanged" } /// 当前主题更改时、第一次设置时 自动调用的闭包......

iOS技术者
2017/05/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于运维,该怎么决定它的方向,这个似工作又似兴趣的存在

我之前主要从事网络、桌面、机房管理等相关工作,这些工作使我迷惘,这应该是大多数运维人都经历过的过程; 18年国庆,我从国内前三的消费金融公司裸辞,下海创业,就是想要摆脱这样的困境。...

网络小虾米
6分钟前
1
0
Java Timer的用法

Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { System.out.println("11232"); } }, 200000 , 1000); public void schedule(TimerTask task, long delay......

林词
10分钟前
3
0
使用js动态加载外部js文件以及动态创建script脚本

动态脚本指的是在页面加载时不存在,但将来的某一时刻通过修改该DOM动态添加的脚本。和操作HTML元素一样,创建动态脚本也有两种方式:插入外部文件和直接插入JavaScript代码。 动态加载外的外...

Bing309
18分钟前
2
0
从零开始入门 K8s | Kubernetes 网络概念及策略控制

作者 | 阿里巴巴高级技术专家 叶磊 一、Kubernetes 基本网络模型 本文来介绍一下 Kubernetes 对网络模型的一些想法。大家知道 Kubernetes 对于网络具体实现方案,没有什么限制,也没有给出特...

阿里巴巴云原生
22分钟前
2
0
天气获取

本文转载于:专业的前端网站➨天气获取 $.get("http://wthrcdn.etouch.cn/WeatherApi", { citykey: cityCode }, function (d) { //创建文档对象 var parser = new ......

前端老手
22分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部