模型、@property、xib
2015-06-27 16:18
232 查看
模型
概念专门用来
存放数据的对象
特点
一般直接继承自NSObject
在.h文件中声明一些用来存放数据的属性
模型定义示例
@interface Shop : NSObject /** 名字 */ @property (nonatomic, strong) NSString *name; /** 图标 */ @property (nonatomic, strong) NSString *icon; @end
字典转模型示例
Shop *shop = [[Shop alloc] init]; shop.name = dict[@"name"]; shop.icon = dict[@"icon"];
注释
// 单行注释 /* */ 多行注释 /** */ 文档注释
@property的使用策略
assign基本数据类型、
枚举、
结构体等非OC对象类型
weak
OC对象类型(比如NSArray、NSDate、NSNumber、模型类)
strong
OC对象类型(比如NSArray、NSDate、NSNumber、模型类)
一个对象只要有强指针引用着,就不会被销毁
copy
一般用在
NSString、
block类型上
通过纯代码自定义控件
继承自系统自带的控件,写一个属于自己的控件目的:封装控件内部的细节,不让外界关心
步骤
新建一个继承
UIView的类
在
initWithFrame:方法中添加子控件
在
layoutSubviews方法中设置子控件的frame
一定要调用
[super layoutSubviews];
提供一个模型属性,重写模型属性的set方法
在set方法中取出模型属性,给对应的子控件赋值
通过xib自定义控件
新建一个继承UIView的类
新建一个xib文件(xib的文件名最好跟控件类名一样)
添加子控件、设置子控件属性
修改最外面那个控件的class为控件类名
将子控件进行连线
提供模型属性,重写模型的set方法
在set方法中给子控件设置数据
相关文章推荐
- 什么是黑帽SEO:黑帽seo和白帽seo的效果和区别
- 渐变动画、图片拉伸、copy、按钮、kvc、kvo
- HDFS学习笔记(2)hdfs_shell & JavaAPI
- 实战黑帽seo从网站搭建到泛站快速排名
- tomcat+jdk+mysql在windows下一键安装包制作过程
- 大共享免费云服务器 Linux Nginx php mysql phpwind 性能测试
- Linux下expect批量更改交换机端口属性
- opencv的susan角点检测算法
- centos7装linux翻译软件
- linux下安装rzsz
- Linux黑洞
- kvm虚拟化
- 关于大型网站技术演进的思考--网站静态化处理
- centos6.5 安装postgresql9.4
- Ubuntu创建svn服务器并设置提交并更新到网站
- 利用tomcat发布WEB项目到内网和外网的方法
- linux 下的 vim 命令
- 【问题小计】OpenWrt之LuCI安装中文包
- 《实用OpenCV》(六) 图像中的形状(1)
- shell学习二十九天----循环