IOS开发基础Object-C(05)—OC变量的作用域、self
2015-11-02 12:47
323 查看
一、变量的作用域
方法的声明和实现,都必须以+ 或者 - 开头,(1). +表示类方法(静态方法)
(2).-表示对象方法(动态方法)
在.h中声明的所有方法都是public类型(通过Category可以实现private)
1.@public,@protected,@private
@public 全局都可以访问
@protected 只能在类内部和子类中访问
@private 只能在类内部访问
注:在@interface中声明的变量默认是@protected类型
2.static对象(类内)
我们将对象声明在类中”{“和”}”之外,也就是与方法和@property写在一起,就可以声明一个类内部的static对象。
注:@property帮我们自动生成getter和setter方法的声明,和@synthesize(自动生成getter和setter方法的实现)连用,在下一篇博客中我会详细讲解,大家稍安勿躁
3.static方法
当方法前是使用”+”来修饰并且声明在头文件中,则说明该方法相当于c++中的static方法,通过类直接调用。但是需要注意的是,虽然这样的方法可以通过类直接调用,但是不可以通过对象调用。
4.public方法
当方法前是使用”-“来修饰并且声明在头文件中,则该方法可以通过类的对象进行调用。
5.private方法
Objective-C中的private方法是通过category实现的,在实现文件中我们声明一个类的category,在这里面的方法就是private方法。类的对象是不可以进行调用的,同样由于该方法的声名是在类的实现文件中,所以子类也是不能重写该方法的。
注:也就是说如果直接把方法写在.m文件中,没有在.h文件中声明,那就是私有方法
二、self的功能
1、在动态方法中,self代表当前对象-(void)test{ int age=self.age; }
2、在静态方法中,self代表当前方法名
+(void)test2{ [self alloc]; }
归根到底,谁调用了方法,self就指向谁
三、视频连接
MJ视频 OC6-self、自动释放、变量作用域http://pan.baidu.com/s/1dDEy6M9
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- Ruby self在不同环境的含义
- PHP中new static() 和 new self() 的区别介绍
- 深入解析JavaScript中的变量作用域
- JavaScript的变量作用域深入理解
- javascript权威指南 学习笔记之变量作用域分享
- javascript中的self和this用法小结
- Javascript 变量作用域 两个可能会被忽略的小特性
- 关于javascript 回调函数中变量作用域的讨论
- 理解JavaScript变量作用域更轻松
- php变量作用域的深入解析
- 有关js的变量作用域和this指针的讨论
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法