iOS 进阶 第十七天(0420)】的更多相关文章

0420 凡是继承了UIResponder的类都可以做响应者 响应事件的传递是由底到高来传递,响应者链条是由高到底来响应 相应事件的传递(由底到高 找到正在和用户触摸交互的view) 准则:事件由父控件传递给子控件,找到最适合处理这个事件的view来处理.如果父控件不能接收触摸事件,那么子控件就不可能收到触摸事件. 图解如下: UIView不接收触摸事件的三种情况,如下图: 如何找到最适合处理这个事件的view 如下图: 响应者链条(由高到底,找到第一个实现了touches方法的view) 是触…
一.添加大头针 地图使用的框架是MapKit 大头针走的是MKAnnotation协议 /* 注意:因为是满足协议MKAnnotation,所以没有MKAnnotation的系统大头针类,必须自定义大头针类,我自定义的为MyAnnotation 大头针: 在iOS开发中经常会标记某个位置,需要使用地图标注,也就是大家俗称的“大头针”.只要一个NSObject类实现MKAnnotation协议就可以作为一个大头针,通常会重写协议中coordinate(标记位置).title(标题).subtitl…
IOS学习之十七:Grand Central Dispatch(GCD)编程基础   有过编程经验的人,基本都会接触到多线程这块. 在java中以及Android开发中,大量的后台运行,异步消息队列,基本都是运用了多线程来实现. 同样在,在ios移动开发和Android基本是很类似的一种模型. 但是很多时候,在应用开发中,我们会发现本身并没有自己编码去处理一些并发的事件,去开辟新的子线程等等. (虽然一般的调用sdk发起一个网络请求,系统都是会默认给你新起一个线程去处理的). 整个程序看上去基本…
Java进阶(四十七)Socket通信   今天讲解一个 Hello Word 级别的 Java Socket 通信的例子.具体通讯过程如下: 先启动Server端,进入一个死循环以便一直监听某端口是否有连接请求.然后运行Client端,客户端发出连接请求,服务端监听到这次请求后向客户端发回接收消息,连接建立,启动一个线程去处理这次请求,然后继续死循环监听其他请求.客户端输入字符串后按回车键,向服务器发送数据.服务器读取数据后回复客户端数据.此次请求处理完毕后,启动的线程消亡.如果客户端接收到…
mysql进阶(二十七)数据库索引原理 前言   本文主要是阐述MySQL索引机制,主要是说明存储引擎Innodb.   第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础.   第二部分结合MySQL数据库中InnoDB数据存储引擎中索引的架构实现讨论聚集索引.非聚集索引及覆盖索引等话题.   第三部分讨论MySQL中高性能使用索引的策略. 一.数据结构及算法理论   Innodb存储引擎实现索引的数据结构是B+树,下面介绍几种数据结构,一步步阐述为什么要使用B+树. 1.…
Java进阶(三十七)java 自动装箱与拆箱 前言 这个是jdk1.5以后才引入的新的内容.java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装称为装箱,解包装称为拆箱): 其实按照我自己的理解自动装箱就可以简单的理解为将基本数据类型封装为对象类型,来符合java的面向对象:例如用int来举例: //声明一个Integer对象 Integer num = 10; //以上的声明就是用到了自动装箱:解析为 Integer num = new Integer(10…
iOS进阶指南试读之UI篇 UI篇 UI是一个iOS开发工程师的基本功.怎么说?UI本质上就是你调用苹果提供给你的API来完成设计师的设计.所以,想提升UI的功力也很简单,没事就看看UIKit里的各个类的头文件.如果能做到烂熟于胸,相信会有很大的提升. Autolayout 顾名思义,Autolayout = 自动+布局,也就是当你设置好一定的约束之后,系统会帮你处理布局的细节.那么,在不那么自动的年代,我们用的是什么?我们用的是Frame布局.那么,先来讨论一下Frame布局有哪些问题?举个简…
不知不觉作为 iOS 开发也有两年多的时间了,记得当初看到 OC 的语法时,愣是被吓了回去,隔了好久才重新耐下心去啃一啃.啃了一阵,觉得大概有了点概念,看到 Cocoa 那么多的 Class,又懵了,怎么才能调用系统的相机?怎么保存信息?怎么做一个像 Twitter 个人页那样的页面?总之就是不知道该从哪切入. 现在回想起来,其实路一直都在,而且有很多条,当初如果有人能够指出一条还不错的道,或许就能走得不那么艰难.于是就有了这篇文章,希望对后人能有所帮助吧. 基础 一定的编程经验 这里说的编程经…
<Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法>([英]Matt Galloway) 很多面试题有涉及 <IOS数据库应用高级编程(第2版)>([美]艾烈希(Patrick Alessi)) <移动开发经典丛书・iOS网络高级编程:iPhone和iPad的企业应用开发>([美]考克斯(Jack Cox),[美]琼斯(Nathan Jones),[美]舒姆斯基(John Szumski)) <移动开发经典丛书:i…
第一,熟悉ARC机制:首先要了解ARC的前世今生.假设了解不清楚会导致两种可能,1,一个对象的引用莫名奇异为空.或失效了.这个一般都能在开发阶段及时发现,由于会导致应用异常.2.导致内存溢出:不了解ARC机制非常easy导致内存不能被正确释放,这类问题会非常隐蔽. 若非特意去做内存測试,那么都会在用户使用的阶段才会被暴露出来,由于内存消耗是个累积的过程.用户不断使用APP,至到内存耗尽.异常退出. 第二,了解Block的使用方法:我使用后的感受是,能够把一个操作的不同结果的处理放在一起,而不用分…