码迷,mamicode.com
首页 > 移动开发 > 详细

学习IOS开发UI篇--MVC设计界面及数据的模型转换

时间:2014-05-26 14:16:45      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:c   a   int   get   strong   文件   

1.字典转模型

========================================

1.1字典转模型的好处:

1> 降低代码的耦合度

2> 所有字典转模型部分的代码统一集中在一处处理,降低代码出错的几率

3> 在程序中直接使用模型的属性操作,提高编码效率

 

模型应该提供一个可以传入字典参数的构造方法

- (instancetype)initWithDict:(NSDictionary *)dict;

+ (instancetype)xxxWithDict:(NSDictionary *)dict;

 

1.2instancetype & id

1> instancetype在类型表示上,跟id一样,可以表示任何对象类型

2> instancetype只能用在返回值类型上,不能像id一样用在参数类型上

3> instancetypeid多一个好处:编译器会检测instancetype的真实类型

 

1.3 在模型中添加readonly属性

// 定义属性时,会生成getter&setter方法,还会生成一个带下划线的成员变量

// 而如果是readonly属性,则只会生成getter方法,同时没有成员变量

@property (nonatomic, strong, readonly) UIImage *image;

 

@interface LFAppInfo()

{

    UIImage *_imageABC;

}

- (UIImage *)image

{

    if (!_imageABC) {

        _imageABC = [UIImage imageNamed:self.icon];

    }

    return _imageABC;

}

在模型中合理地使用只读属性,可以进一步降低代码的耦合度。

 

1.4使用数据模型的好处:

*** 调用方不用关心模型内部的任何处理细节!

 

2. XIB

========================================

Xib文件可以用来描述某一块局部的UI界面

 

XIB & Storyboard

相同点:

1都用来描述软件界面

2都用Interface Builder工具来编辑

不同点

1>  Xib是轻量级的,用来描述局部的UI界面

2>  Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系

 

3. View的封装思路

========================================

1如果一个view内部的子控件比较多,一般会考虑自定义一个view,把它内部子控件的创建屏蔽起来,不让外界关心

2外界可以传入对应的模型数据给viewview拿到模型数据后给内部的子控件设置对应的数据

 

学习IOS开发UI篇--MVC设计界面及数据的模型转换,布布扣,bubuko.com

学习IOS开发UI篇--MVC设计界面及数据的模型转换

标签:c   a   int   get   strong   文件   

原文地址:http://www.cnblogs.com/zhaoyan/p/3746489.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!