- 博客(19)
- 资源 (2)
- 收藏
- 关注
原创 控制器之间的数据传递——NSUserDefaults传值
NSUserDefaults传值使用偏好设置(NSUserDefaults)传值实质是把数据持久化于沙盒,另一个控制器在从沙盒读取对应的文件获取数据,它是一种以文件进行传值的方式。一. 实现步骤在界面2中,声明NSUserDefaults变量,并往NSUserDefaults对象中添加要传递的数据在界面1中,声明NSUserDefaults变量,通过对应的健取出对应的数据
2016-08-30 11:00:24 900
原创 控制器之间的数据传递——自定义单例传值
自定义单例传值前面的几篇文章介绍了通过系统提供的单例进行数据传递,如:UIApplication、通知等,这篇文章介绍使用自定义的单例进行数据传递我们先在这里约定:界面1传值到界面2为顺传,界面2传值到界面1为逆传一. 实现步骤自定义一个单例类,该类要有一个属性用于保存传递的数据在界面2中,创建单例对象,并把数据赋值给该单例对象的属性在界面1中,也创建一个单例,然后通过单
2016-08-30 08:47:24 1002
原创 控制器之间的数据传递——UIApplication传值
UIApplication传值我们先在这里约定:界面1传值到界面2为顺传,界面2传值到界面1为逆传[UIApplication sharedApplication]可以获取到一个UIApplication对象,代表应用程序,是一个单例对象一. 实现步骤在AppDelegate.h中添加一个属性用于保存传递的数据在界面2的跳转方法中,用[[UIApplication sharedApplicati
2016-08-29 23:05:17 1041
原创 控制器之间的数据传递——全局变量传值
全局变量传值一. 实现步骤在界面2中声明一个全局变量,并且用它赋值保存要穿的值在界面1中用extern声明界面2中的全局变量,就可用他保存的值赋值二. extern优缺点优点 a.全局可视,任何一个函数都可以访问和更改变量值。 b.内存地址固定,读写效率高缺点 a.容易造成命名冲突 b.当值不正确或者出错时,很难确定是哪个函数更改过这
2016-08-29 22:33:21 2923
原创 控制器之间的数据传递——通知传值
通知传值我们先在这里约定:界面1传值到界面2为顺传,界面2传值到界面1为逆传通知中心是一个单例,在哪里注册通知中心,通知中心都是同一个。一. 实现步骤在界面2注册一个通知中心并指定通知名称,通知的信息就是要传递的数据,发布通知在界面1注册一个通知中心,添加界面1为观察者,当有相同名字的通知时,就执行指定方法在实现通知的方法中,进行赋值操作在界面1中移除通知
2016-08-29 21:13:54 1708
原创 控制器之间的数据传递——Block传值
Block传值我们先在这里约定:界面1传值到界面2为顺传,界面2传值到界面1为逆传一般用Block传值是为了降低视图控制器之间的耦合度,和代理传值类似主要用于逆序传值。一. 实现步骤:给界面2定义一个Block属性;注意:在block传值中,要传几个值,block就有几个参数,参数要与传的值对应在界面2的跳转方法中检查block属性是否有值,有值就执行block,然后界面2出栈
2016-08-29 18:36:39 1794
原创 控制器之间的数据传递——代理传值
代理传值我们先在这里约定:界面1传值到界面2为顺传,界面2传值到界面1为逆传 一般用代理传值是为了降低视图控制器之间的耦合度,主要用于逆序传值。 对于属性传值,传递方必须要有一个保存接收方的属性,而代理传值不需要知道接收方是谁,只要其代理遵守代理协议,就可以获取通过代理方法传出的数据模型一. 实现步骤界面2实现一个代理协议界面2设置一个代理属性界面2通知其代理做事情界面2在入
2016-08-29 18:07:30 1104
原创 控制器之间的数据传递——属性传值
一、属性传值我们先在这里约定:界面1传值到界面2为顺传,界面2传值到界面1为逆传(一). 顺传界面2需要有一个用于接收数据的属性界面2在压入栈之前,把界面1中的数据直接赋值给界面2的属性界面2压入栈,实现跳转到界面2(二). 逆传界面1需要有一个用于接收数据的属性界面2需要有一个用于保存界面1的属性界面2在压入栈之前,把界面1控制器赋值给界面2的属性在界
2016-08-29 16:52:27 2663
原创 控制器之间的数据传递——storyboard中控制器的数据传递
在APP开发中,我们经常需要在不同的控制器之间进行数据传递,按照传递的方向,可分为顺传和逆传;按照是否通过第三者(如通过单例、或者文件等)传递数据,可以分为:直接传递和间接传递。一. 在storyboard中控制器的数据传递1. 在storyboard中,拖入控制器在storyboard中,把默认的视图控制器删除,并拖入一个导航控制器UINavigationControlle
2016-08-29 14:51:15 2146
原创 模态窗口
一. 简介1. 简介由于在iOS中并没有专门的模态窗口类,模态窗口(modal)在iOS中只是视图控制器显示的一种方式,模态窗口方便快捷,它不依赖于控制器容器(如UITabBarController和UINavigationController),通常用于显示独立的内容,在模态窗口显示的时候,它暂时中断程序正常的执行流程,用户无法再与上一个场景交互,只能对当前此窗口进行操作,除非他们先
2016-08-27 18:25:24 3788
转载 iOS之模态情境
重要:这是针对于正在开发中的API或技术的预备文档(预发布版本)。虽然该文档在技术精确度上经过了严格的审核,但并非最终版本,仅供苹果开发者计划的注册会员使用。苹果提供这份机要文档的目的,是帮助你按照文中描述的方式对技术的选择及界面的设计开发进行规划。这些信息有可能发生变化,届时,你的设计开发方式需要基于
2016-08-27 15:52:09 1225 1
原创 UITabBarController详解
一. UITabBarController简介(一). 继承关系 UITabBarController和UINavigationController类似,也继承于UIViewController,也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ、微信等应⽤。(二). 基本概念 父控制器:通过标签控制器管理多个子控制器,标签控制器就称为父控制器
2016-08-26 09:33:22 11072
原创 UINavgationViewController详解
一. UINavgationViewController简介1.继承关系UINavgationViewController继承自UIViewController,它的内部结构为:导航条,导航控制器的view,存放导航控制器子控制器的view2.使用场景利用UINavigationController,可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是系统自带的“设
2016-08-15 18:37:09 1900
原创 iOS的常见文件及程序的启动原理
一. iOS中常见文件(一). Xcode6之前创建项目,默认可以可以看见一个存放框架的文件夹info.plist文件以工程文件名开头,如:第一个项目-Info.plist项目中都有一个PCH文件(二). Xcode6之后(包括Xcode6)创建项目,没有框架文件夹,使用时系统才去加载info文件不以工程文件名开头,如:Info.plist项目中没有一个PCH文件
2016-08-12 19:46:04 3705 5
原创 UITableView(三)----性能优化
一. Table View的性能优化1.问题iOS设备的内存有限,如果用UITableView显示成千上万条数据,就需要成千上万个UITableViewCell对象,那将会耗尽iOS设备的内存。要解决该问题,需要重用UITableViewCell对象2.苹果已经进行一次优化优化:看到的cell才创建,看不见的cell就销毁。 但其实苹果没有销毁cell,只是把它放到了缓存
2016-08-08 17:10:26 1029
原创 UITableView(二)----显示数据
一. 单组数据的Table View1. 创建工程后,直接把Table View拖到View Controller上2. 拖线设置数据源3. 创建数据模型#import @interface SSData : NSObject//图标@property (nonatomic,strong) NSString *icon;//简介@property (nona
2016-08-08 16:26:04 672
原创 UITableView(一)----基本介绍
一、简介1. 继承关系UITableView继承自UIScrollView,因此支持垂直滚动,而且性能极佳。UITableView的代理协议也继承了UIScrollView的代理协议,可以通过实现UIScrollView的代理方法,监听UITableView的变化。在UITableView中没有列的概念,只有行的概念,数据都是按行显示的。2.使用场景在iOS中,通常使用UI
2016-08-05 13:19:54 1467
原创 UIDatePicker
一、简介1.继承关系 UIDatePicker继承自UIControl,它和UIPickerView界面有点一样,但是没有直接的联系。 2.使用场景 一般配合UITextField使用,用于选择日期。 3.基本概念 地区:设置了地区,就使用那个地区的语言显示日期 日历:用于处理时间相关问题 时区:地理名称,区域时间 4. 界面 二、常见属性// 使用地区@property (no
2016-08-03 16:52:17 529
原创 UIPickerView
一、简介1. 继承关系 UIPickerView是UIView的子类。类似的控件是UIDatePicker,但它是UIControl的子类,UIControl又是UIView的子类。从表面上看两者好像有直接的继承关系,但是实质不是。 2. 使用场景 UIPickerView使用频率不高,通常使用在注册模块,当用户需要选择一些东西的时候,比如说城市,往往弹出一个PickerView给他们
2016-08-03 15:58:57 1597
判断自己的BIOS为SLIC 2.0还是2.1
2016-04-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人