先讲述下nib, nib是3.0版本以前的产物,在终端下我们可以看到,NIB其实是一个文件夹,里面有可执行的二进制文件: 区分xib和storyboard的区别? 不同点: 1> 无论nib也好,xib也好,最终在执行UIViewController生命周期函数loadView之前,都会转化成可执行的nib文件. 2> storyboard是多个xib文件集合的描述文件,一个xib文件对应着一个视图控制器和多个视图. toryboard时,一个工程只需要一个主storyboard文件就可以.…
今天帮同事解决问题的时候发现,程序BUG是由加载过程引起的.所以当局部代码没有问题,但是程序一运行却总不是我们想要结果的时候,我们应该想想是不是因为我们忽略了试图加载过程的原因.下面我们用一个例子来简单介绍一下启动过程中常见的几个方法.首先我们通过XIB 创建了一个试图控制器(名字叫Empty ,不要问我为为啥它叫这个名字,因为我太懒了,鼠标点快了就没去改),又创建了一个UIView的子类(MyView),并且将Empty的对象 设置为窗口的根控制器,MyView 的一个对象设置为Empty的主…
iOS开发 XML解析和下拉刷新,上拉加载更多 1.XML格式 <?xml version="1.0" encoding="utf-8" ?> 表示XML文件版本, 内部文本使用的编码 <root> 表示根节点 <CityName>北京</CityName>  一个结点, CityName是结点名, 北京结点值 <Item key="1" value="A"><…
你要做的东西一定要是你无比渴望这世界上能出现的东西,这股热情和能量将会融入到你的应用中,成为它腾飞的初速度,为你带来积极反馈.把自己当做app最重要的用户,这一点非常重要. http://www.cocoachina.com/design/20150610/12096.html 作为一名移动app的产品设计师,我(英文原文作者)每周都会下载很多app来试用,看看有哪些细处的交互模式或是惊艳的视觉设计能给自己带来启发.有时,你确实能发现一些app有着不错的想法,但是更多时候,你只觉得失望,因为看到…
UIViewController中关于nib初始化的函数 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil; 从这个函数的说明我们可以知道,如果你subclass一个UIViewController,不管有没有使用NIB, [super initWithNibName:bundle]这个方法必须被调用, 这个方法会在如下两种情况下被调用: 显示调用, 指定一个nib名称,系统会去找指定…
ios 开发中视图的声明周期 viewWillAppear: 视图即将可见时调用.默认情况下不执行任何操作 viewDidAppear: 视图已完全过渡到屏幕上时调用 viewWillDisappear: 在该视图被取消.覆盖或以其他方式隐藏后调用,viewDidLoad:在视图加载后被调用,如果是在代码中创建的视图加载器,他将会在loadView方法后被调用,如果是从nib视图页面输出,他将会在视图设置好后后被调用. viewWillAppear:当收到视图在视窗将可见时的通知会呼叫的方法 v…
viewWillAppear:  Called when the view is about to made visible. Default does nothing视图即将可见时调用.默认情况下不执行任何操作 viewDidAppear: Called when the view has been fully transitioned onto the screen. Default does nothing视图已完全过渡到屏幕上时调用 viewWillDisappear: Called w…
一.this关键字 1.代表当前类的对象 2.通过” . ”调用成员属性和成员方法 3.通过this可以区分成员属性和参数 参数名和属性名相同的情况,默认是参数名 二.非静态成员属性和静态成员属性的区别 非静态通过“对象.属性“的方式调用 静态通过“类名.属性“的方式调用 非静态属性每个对象各有一份,静态属性被对象之间共享,属于类 三.类的加载顺序 创建对象时: 1.首先加载静态资源 a) 静态代码块 b) 静态成员属性 静态资源只会加载一次,并且按照从上到下的顺序加载 2.加载普通代码块和成员…
两个jdk的区别 oracle jdk是sun/oracle(甲骨文)公司的,部分jdk开源:相对比较稳定,使用的比较多. openjdk是完全开源的,据说是官方oracle唯一承认的开源版本. idea如何调试jdk代码 首先oracle默认的源码包是不全的 这是当前项目的CLASS_PATH和对应的源码路径(除了前两个zip包是自带的,其他都是我添加的) (jdk1.8源码下载路径)[http://hg.openjdk.java.net/jdk8u],我选用下面这个,这里不仅有jdk代码,还…
在浏览器地址栏输入URL地址,浏览器开始加载页面时,有以下几个过程 1.浏览器开始解析HTML文档 2. 浏览器遇到HTML文档中的<script>元素以及CSS样式文件,并且没有async或defer属性,就暂停解析,开始执行脚本和CSS样式 3. HTML文档解析完成 4. 浏览器等待图片.样式表.字体文件等外部资源加载完成 在这其中,有两个阶段: ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件): load,表示页面包含图片等外部文件在内的所有元素都加载完成. DOM…