博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS 成员变量,属性变量,局部变量,实例变量,全局变量 详解
阅读量:2394 次
发布时间:2019-05-10

本文共 1105 字,大约阅读时间需要 3 分钟。

成员变量:
@interface MyViewController :UIViewControlle 
{
    UIButton *yourButton; 
    int count; 
    id data; 
成员变量用于类内部,无需与外界接触的变量,成员变量默认是protected,一般情况下,非子类对象无法访问因为成员变量不会生成set、get方法,所以外界无法与成员变量接触成员变量是定义在{}号中的变量,如果变量的数据类型是一个类则称这个变量为实例变量。 因为实例变量是成员变量的一种特殊情况,所以实例变量也是类内部使用的,无需与外部接触的变量,这个也就是所谓的类私有变量
局部变量:
-(void)viewDidLoad 
    // 局部变量 
    NSArray *array = [[NSArray alloc] initWithObject:@“123”,nil]; 
局部变量是根据其生存周期定义的,在源文件中的array,其生命周期是在以“{ }”为界限的代码块中,虽然它的名称与成员变量相同,但不是同一个变量
属性变量: 
@interface MyViewController :UIViewControlle 
@property (nonatomic, strong) UIButton *myButton; 
@end
属性变量是用于与其他对象交互的变量。 属性变量的好处就是允许让其他对象访问到该变量(因为属性创建过程中自动产生了set 和get方法)。 当然,你可以设置只读或者可写等,设置方法也可自定义。 现在大家似乎都不怎么喜欢用成员变量来定义类的变量, 都喜欢用属性变量来定义类的变量。把需要与外部接触的变量定义在.h文件中,只在本类中使用的变量定义在.m文件中
实例变量: 
实例变量本质上就是成员变量,只是实例是针对类而言, 编译器会自动为你生成以下划线开头的实例变量 _myButton,也会自动为你生成setter,getter方法。 如果.m文件中写了@synthesize myButton,那么生成的实例变量就是myButton;如果没写@synthesize myButton,那么生成的实例变量就是_myButton
全局变量: 
定义:在@implementation外定义的变量(在@implementation中定义也是可以但是一般不这么干) 
举例: 
// 规范的
static int hu=3;// 全局变量 
NSString *str1= @"S1ViewController";// 全局变量 
@implementation S1ViewController 
@end 

转载地址:http://isgab.baihongyu.com/

你可能感兴趣的文章
怎样在同一终端上多帐号登陆同一服务器?
查看>>
BiteFight 简单外挂开发之IE篇
查看>>
SVN常用命令学习笔记
查看>>
Avoiding memory leaks
查看>>
AT Command for QOS
查看>>
中文字号VS英文字号(磅)VS像素值的对应关系
查看>>
关于@override报错的问题
查看>>
Linux中禁止Ctrl-Alt-Delete
查看>>
概念辨析:dBm, dBi, dBd, dB, dBc, dBuV
查看>>
麻雀虽小,五脏俱全:新新手,IP和Socket小知识
查看>>
Windows常用命令集锦
查看>>
MMS彩信是怎么炼成地(一) 编辑
查看>>
MMS是怎样炼成的(二)封装
查看>>
SMIL 参考手册
查看>>
分析pptpd程序中关于执行pptpd和pppd程序的部分源代码
查看>>
RFC 1180 - TCP/IP tutorial 学习笔记
查看>>
HOWTO: Unpack, Edit, and Re-Pack Boot Images
查看>>
ramfs, rootfs & initramfs
查看>>
Tom's attempts to get GPRS working over bluetooth with his laptop
查看>>
Connecting to GPRS over Bluetooth on Linux
查看>>