对属性的深入理解

真正开发iOS刚好满一年,这一年的过程就是囫囵吞枣般学习新知识,翻找博客,把一些功能塞到程序中。虽说项目完成了好几个,但是基础还是相当薄弱。现在去看一些iOS的基础博客立即恍然大悟,对开发中碰到的一些难以理解的报错有了深刻的理解。下面开始正题:

1.初用

从我学iOS开始,编写一个控件、一个字符串或是一个数组都是如下形式:

@property (strong, nonatomic)  UILabel *resultLabel;

再后来需要在类中添加可变常量时,我都会选择如下方式,编写起来更加方便而且与类属性分别开。

@implementation BakeCurveViewController
{
    double leftAxisMax;
    NSInteger xAxisMax;
}

或是

static BOOL isRelaOn = NO;

2.深入理解

@interface MyViewController :UIViewController
{
    UIButton *myButton;//实例变量
}
@property (nonatomic, retain) UIButton *myButton;
@end

在iOS5以前,声明一个属性是需要同时声明对应的实例变量的。iOS5后,苹果就不再需要为属性声明实例变量了,它会自动为属性生成一个以下划线开头的实例变量,即_myButton。同时也会自动生成setter、getter方法。

@synthesize在iOS4.4就已经被@property代替了,@synthesize的功能主要有2个作用:生成成员变量setter、getter方法;生成实例变量;所以现在@synthesize基本不再使用了

3.一些规范

对自己以后的代码规范:

1.如果只是一些简单的私有变量,在implementation里声明,简化代码并且阅读性更强

2.公有属性在.h文件中声明,可以被其他类调用

3.需要生成setter和getter的私有属性,就在.m的interface中用@property声明

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值