IOS开发笔记16-Object-C中的属性
转载请标明出处:
http://blog.csdn.net/hai_qing_xu_kong/article/details/54667858
本文出自:【顾林海的博客】
前言
前一篇笔记记录了自定类的步骤以及如何存取,这篇笔记将会提供一种用于简化存取的方法,我们称之为属性。
实例
#import <Foundation/Foundation.h>@interface Person : NSObject
//定义两个属性
@property (nonatomic) int _age;
@property (nonatomic) NSString *_name;- (void) printPersonInfo;@end
属性的声明以@property开始,然后是属性的类型和名称。声明属性会让头文件更简洁,从而减少代码的输入。而且在声明属性的时候,编译器不仅会帮你声明存取方法,还会根据属性的声明实现存取方法。
接着修改Person.m文件内容:
#import "Person.h"@implementation Person- (void)printPersonInfo{int age=[self _age];if(age<30){NSLog(@"age=%d,name=%@",__age,__name);}else{NSLog(@"error");}
}@end
最后看main.m文件:
#import <Foundation/Foundation.h>
#import "Person.h"int main(int argc, const char * argv[]) {@autoreleasepool {// insert code here...Person *person=[[Person alloc]init];person._name=@"bill";person._age=26;[person printPersonInfo];}return 0;
}
运行程序与前一篇笔记输出一样。
属性的特性
属性的声明可以有一个或多个属性特性。属性特性会告诉编译器关于属性行为的更多信息。属性特性会显示在@property接口后的括号中。
就像上面程序那样:
@property (nonatomic) int _age;
@property (nonatomic) NSString *_name;
如果一个类需要只读属性,也就是该属性拥有取方法,但不能有存方法,可以在属性特性处添加一个readonly :
@property (nonatomic,readonly) NSString *_name;
当然除了有只读,还有其他一些特性:
读写:
@property (nonatomic,readwrite) NSString *_name;
IOS开发笔记16-Object-C中的属性相关推荐
- IOS开发笔记17-Object-C中的继承
转载请标明出处:[顾林海的博客] 个人开发的微信小程序,目前功能是书籍推荐,后续会完善一些新功能,希望大家多多支持! ##前言 在前面的程序Person.h文件中可以看到,Person继承了NSObj ...
- IOS开发笔记13-Object-C中的NSString
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/53572258 本文出自:[顾林海的博客] 前言 NSString是Ob ...
- IOS开发笔记12-Object-C中的对象与内存
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/53556243 本文出自:[顾林海的博客] 前言 Object-C的内存 ...
- IOS开发笔记11-Object-C中的传递消息
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/53534039 本文出自:[顾林海的博客] 前言 在前一篇例子中传递的是 ...
- IOS开发笔记10-Object-C中的对象
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/53513004 本文出自:[顾林海的博客] 前言 关于c语言的基础部分已 ...
- iOS开发笔记[16/50]:Views
看<Programming iOS 4>的第14章Views,记住这些要点: (1)UIView也是UIResponder的子类: (2)View有树状的层次结构: (3)view可以用X ...
- iOS开发笔记-两种单例模式的写法
iOS开发笔记-两种单例模式的写法 单例模式是开发中最常用的写法之一,iOS的单例模式有两种官方写法,如下: 不使用GCD #import "ServiceManager.h"st ...
- IOS开发笔记之推广安装(用网页判断是否安装App)
IOS开发笔记之推广安装(用网页判断是否安装App) 在做App推广的时候,我们经常会用到网页链接下载,亦或是一张二维码,最常见的做法就是将App在iTunes中的下载链接嵌入,当用户扫描或者点击网页 ...
- 属性数量限制android,Android开发笔记 今天学到的一些属性
Android开发笔记 今天学到的一些属性 更新时间:2012年11月07日 10:23:33 作者: 离开实验室之前再贴上今天下午自己学到的一些基础知识 上午干嘛了呢,忙着数据恢复呢 1.最后程 ...
最新文章
- zabbix4.0搭建(基于CentOS6.8)
- 跨网文件摆渡如何满足不同安全要求?
- 中国钢铁行业战略规划及项目建设动态分析报告2021-2027年
- wxWidgets:wxThread类用法
- 【笔记】分离字符串中的数字、字母和汉字
- Linux伪终端怎么退出,什么是linux里的终端和伪终端
- C#LeetCode刷题之#9-回文数(Palindrome Number)
- Guns 旗舰版2.1发布,更新树形表格
- DRILLNET 2.0------第八章 预防碰撞分析模型
- springboot 集成redis实现session共享
- Android 源码变迁
- java开发一个银行系统_java实现银行管理系统
- Java计算机毕业设计大学生企业推荐系统源码+系统+数据库+lw文档
- Python获取对象所占内存大小方法
- 【码农学编曲】吉他伴奏
- HTML常见问题整理1
- 企业私有网络构建与运维
- 使用Graham扫描法获取一个平面点集的凸包
- 为有梦青年插上助力的翅膀 魅族开发者大赛取得圆满成功
- 神通数据库自助在线查询