iOS-----------进阶书籍收藏】的更多相关文章

版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/124 Android进阶书籍推荐 端午节前我写了drakeet的知识星球推荐,今天呢,准备再写篇软文,关于Android进阶书籍推荐的,其实这本书已经上市好些年了,是任玉刚的Android开发艺术探索. 书已经上市好些年了,为何还要推荐,主要觉得还是写的特别好,特别经典,我的Android技术图书收藏还是相当多的,几乎近几年新出的Android书籍都买了,…
http://www.zhihu.com/question/19649679 我来说说我学习的过程:(无耻的使用一个回答 回答了很多问题.^^) 第一步,精读 Stephen G. Kochan 的<Objective-C程序设计>:Objective-C语言基础,iOS开发的第一技能就是精通Objective-C: 第二步,有了语言基础,精读 David Mark 的<精通iOS开发>:通过各种单独的项目,熟悉iOS SDK,XCode开发环境,明白MVC.委托等设计模式,通读完…
一.添加大头针 地图使用的框架是MapKit 大头针走的是MKAnnotation协议 /* 注意:因为是满足协议MKAnnotation,所以没有MKAnnotation的系统大头针类,必须自定义大头针类,我自定义的为MyAnnotation 大头针: 在iOS开发中经常会标记某个位置,需要使用地图标注,也就是大家俗称的“大头针”.只要一个NSObject类实现MKAnnotation协议就可以作为一个大头针,通常会重写协议中coordinate(标记位置).title(标题).subtitl…
Linux内核开发进阶书籍推荐(不适合初学者) 很早之前就想写一篇文章总结一下Linux Kernel开发的相关资料,项目的原因,再加上家里的一些事情,一直没能找到闲暇,今天终于有些时间,希望可以完成这篇文章吧.首先需要说明的是不是所有的人都需要搞内核开发,因为据笔者了解,大部分的软件工程师的工作都在用户态开发,学习内核开发事倍功半,没什么实际意义,另外,初学编程的人也不太适合搞内核开发,因为信息量相对比较大,而且枯燥晦涩,很容易让初学者还没有入门,就已经放弃了,再有就是不想投入时间,总是试图走…
熟练掌握C/C++/Objective-C/Swift语言: 熟悉Cocoa Touch(Foundation,UIKit).Objective-C中block,gcd,NSOperation等: 熟悉Object消息传递等机制,Objective-C Runtime,阅读源码: 熟练使用大部分iOS平台常用库,开源库(AFNetworking,SDWebImage,fmdb),开源控件(EGOTableViewPullRefresh,MRProgress); 关注github上iOS平台开源项…
iOS进阶指南试读之UI篇 UI篇 UI是一个iOS开发工程师的基本功.怎么说?UI本质上就是你调用苹果提供给你的API来完成设计师的设计.所以,想提升UI的功力也很简单,没事就看看UIKit里的各个类的头文件.如果能做到烂熟于胸,相信会有很大的提升. Autolayout 顾名思义,Autolayout = 自动+布局,也就是当你设置好一定的约束之后,系统会帮你处理布局的细节.那么,在不那么自动的年代,我们用的是什么?我们用的是Frame布局.那么,先来讨论一下Frame布局有哪些问题?举个简…
第一,熟悉ARC机制:首先要了解ARC的前世今生.假设了解不清楚会导致两种可能,1,一个对象的引用莫名奇异为空.或失效了.这个一般都能在开发阶段及时发现,由于会导致应用异常.2.导致内存溢出:不了解ARC机制非常easy导致内存不能被正确释放,这类问题会非常隐蔽. 若非特意去做内存測试,那么都会在用户使用的阶段才会被暴露出来,由于内存消耗是个累积的过程.用户不断使用APP,至到内存耗尽.异常退出. 第二,了解Block的使用方法:我使用后的感受是,能够把一个操作的不同结果的处理放在一起,而不用分…
XCode自带重构方式http://www.cocoachina.com/ios/20160127/15097.html iOS迭代多语言开发http://www.cocoachina.com/ios/20160126/15091.html UITableview代理与控制器分离http://www.cocoachina.com/ios/20160121/15077.html 整理常用的iOS第三方资源http://www.cocoachina.com/ios/20160121/14988.ht…
不知不觉作为 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…
第一部分: Java语言篇 1 <Java编程规范>   星级:   适合对象:初级,中级   介绍:作者James Gosling(Java之父),所以这本书我觉得你怎么也得读一下.对基础讲解的很不错. 2 <Java核心技术:卷Ⅰ基础知识>   星级:   适合对象:初级,中级   介绍:官方机构图书,你怎么也得有一本,这本书比较全面而且易懂.放在案旁用到的时候查一查,看一看.是学习入门必备书.    注:新手必备 3 <Java编程思想>   星级:   适合对象…
转的别人的 看到很多童鞋问到,为什么每次都返回数量等于0?? 其实有童鞋已经找到原因了,原因是你在 ItunesConnect 里的 “Contracts, Tax, and Banking”没有完成设置账户信息. 确定 ItunesConnect 里 “Contracts, Tax, and Banking”的状态,如下图所示,即可: 这里也是由于Himi疏忽的原因没有说明,这里先给童鞋们带来的麻烦,致以歉意. //——2012-6-25日更新iap恢复 看到很多童鞋说让Himi讲解如何恢复i…
1.编写高质量iOS与OS X代码的52个有效方法 (Effective Objective-C 2.0) 这本书介绍了一些OC的语法技巧,runtime,内存管理等方面的知识.书已买,准备入手. 2.iOS与OS X多线程和内存管理(Pro Multithreading and Memory Management for iOS and OS X) 这本书详细介绍iOS的内存管理,不厚,200多页好像,之前也算读过一遍,不过是过目就忘,但是不妨碍我认为这本书绝对算是想要学习iOS内存管理,bl…
http://kobedai.me/ objc.io PS:经典,内容深而广objc中国NSHipster PS:很多小细节NSHipster 中文版唐巧的技术博客 PS:LZ是唐巧的脑残粉…OneV’s Den 王巍 PS:喵神..不解释Dev Talking PS:经常翻译国外技术博客sunnyxx的技术博客shinobicontrols-iOS8 PS:Day-By-Day 系列 超经典shinobicontrols-iOS7Kingiol Ding PS:翻译了Day-By-Day-iO…
[初阶](基础知识及入门) 01. <PHP与MySQL程序设计(第4版)>  http://item.jd.com/10701892.html 02. <深入浅出MySQL 数据库开发 优化与管理维护 第2版> http://item.jd.com/11381295.html 03. <实战Nginx:取代Apache的高性能Web服务器> http://dwz.cn/2K1ryn 04. <Redis 实战> http://item.jd.com/117…
多线程 注意:iOS关于UI的刷新和添加必须在主线程中操作! pthread的创建方法: pthread_t pthread; //第一个参数 线程指针 //第二个参数 线程的一些属性 //第三个参数 函数指针 用于执行方法 //第四个参数 线程中的传值 pthread_create(&pthread, NULL, run, NULL); 当应用程序刚运行的时候, 系统会自动为我们开放一个线程,该线程为主线程. 子线程是程序员用代码手动开启的线程,它存在的意义是为了执行耗时操作的任务. 一.NS…
一.配置环境(:后为在终端输入的命令) 打开终端 查看自己电脑的Ruby环境:gem sources -l 如果环境已经是淘宝镜像了,此时不需要再进行环境的修改. 如果不是,发送gem sources —remove https://rubygems.org/移除当前镜像,然后gem sources -a https://ruby.taobao.org/来添加淘宝镜像. 二.安装Cocoapods 1.下载:sudo gem install Cocoa pods. 2.设置copos:pod s…
1 什么是block 对于闭包 (block),有很多定义,其中闭包就是能够读取其它函数内部变量的函数,这个定义即接近本质又较好理解.对于刚接触Block的同学,会觉得有些绕, 因为我们习惯写这样的程序main(){ funA();} funA(){funB();} funB(){.....}; 就是函数main调用函数A,函数A调用函数B... 函数们依次顺序执行,但现实中不全是这样的,例如项目经理M,手下有3个程序员A.B.C,当他给程序员A安排实现功能F1时,他并不等着A完成之后,再 去安…
1 多线程是什么 多线程是个复杂的概念,按字面意思是同步完成多 项任务,提高了资源的使用效率,从硬件.操作系统.应用软件不同的角度去看,多线程被赋予不同的内涵,对于硬件,现在市面上多数的CPU都是多核的,多核 的CPU运算多线程更为出色:从操作系统角度,是多任务,现在用的主流操作系统都是多任务的,可以一边听歌.一边写博客:对于应用来说,多线程可以让应用 有更快的回应,可以在网络下载时,同时响应用户的触摸操作.在iOS应用中,对多线程最初的理解,就是并发,它的含义是原来先做烧水,再摘菜,再炒菜的工…
一.CoreData数据库框架的优势 1.CoreData数据持久化框架是Cocoa API的一部分,首次在iOS5版本的系统中出现,它允许按照实体-属性-值模型组织数据,并以XML.二进制文件或者SQLite数据文件的格式持久化数据.CoreData主要提供独享-关系映射(ORM)功能,把OC对象转化为数据保存到文件,也可以数据转化为OC对象. 2.CoreData数据库框架的优势: sqlite: 基于C接口需要使用sql语句,代码繁琐. 在处理大量数据时,表关系更直观. 在OC中不是可视化…
一.数据库管理系统 1.SQL语言概述:SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言. 2.常见的数据库: MySQL:MySQL是一个精巧的SQL数据库管理系统,而且是开源的数据管理系统.MySQL主要目标是快速.健壮和易用.它拥有强大的功能.灵活性.丰富的应用编程接口(API)以及精巧的系统结构. Oracle:Oracle Database,又名Oracle RDBMS,或简称Oracl…
一.沙盒机制 1.什么是沙盒? 每一个iOS应用程序都会为自己创建一个文件系统目录(文件夹),这个独立.封闭.安全的空间,叫做沙盒. 2.沙盒机制(SandBox) 沙盒是一种安全体系. 它规定了应用程序只能在为该应用程序创建的文件夹(沙盒)内访问文件,不可以访问其它沙盒内的内容(iOS8之后已经部分开放访问). 所有的非代码文件都保存在这个地方,比如图片.声音.属性列表(plist).sqlite数据库和文本文件等. 3.沙盒机制的特点: 每个应用程序的活动范围都限定在自己的沙盒里. 不能随意…
0413 - Quartz2D 使用Quartz2D画图形步骤:(drawRect: 方法 是 在view第一次显示到屏幕上的时候会调用一次.是系统主动去掉用的,不能直接调用.那么问题来了,比如我要通过滑块持续移动界面上画出的一个圆的位置怎么办呢?就要用到了刷帧也叫重绘,可以调用setNeedsDisplay方法,来让系统再次调用drawRect: 方法来达到目的.当然调用setNeedsDisplay是刷新整个界面,也可以通过调用``setNeedsDisplayInRect: 来刷新具体的矩…
0410 在tableViewCell之间添加一根线,通栏 iOS应用数据存储的常用方式 plist存储文件 plist读取文件 下面是plist存储读取的图解: 注意:plist只能存储常见的属性.和Metro中的ApllcaiotnDataSetting存储的格式以及数据类型基本一样 偏好设置Preference本质存储的也是一个pliSt,xml格式.类似Metro中的ApllcaiotnDataSetting NSKeyedArchiver * 注意点: 1.所属的类必须遵循<NSCod…
0408 makekeyAndVisible解释 一个程序可以有多个Window,但只有一个窗口能够成为主窗口.如图中所示,此时的window2是主窗口.主窗口用处大了.从iOS7开始无论是主窗口还是次窗口,都可以交互,比如文本框输入文字.但在iOS6及其之前的版本,非KeyWindow(非主窗口)是无法交互的,即无法向文本框中输入文字 如果发现一个文本框不能输入文字,那就就要想到这个文本框所在的窗口是不是主窗口 iOS主窗口和非主窗口的表现: 获取当前程序的主窗口 一些总结: 键盘也是在一个窗…
OneV‘s Den在博客里出了10道iOS面试题,用他的话是:"列出了十个应聘Leader级别的高级Cocoa/CocoaTouch开发工程师所应该掌握和理解的技术" .  在这里給一份我的答案.   1. 你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗?   Objecitve-C的重要特性是Runtime(运行时),在#import <objc/runt…
著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:wjh2005链接:https://www.zhihu.com/question/28518265/answer/88750562来源:知乎 1. Coding iOS 客户端 Coding官方客户端. 笔者强烈推荐的值得学习的完整APP.GitHub - Coding/Coding-iOS: Coding iOS 客户端源代码 2. OSCHINA 的 iPhone 客户端开源中国的iPhone客户端源码https://…
1 似乎每个人在学习 iOS 过程中都考虑过的问题 alloc retain release delloc 做了什么? autoreleasepool 是怎样实现的? __unsafe_unretained 是什么? Block 是怎样实现的 什么时候会引起循环引用,什么时候不会引起循环引用? 所以我将在本篇博文中详细的从 ARC 解释到 iOS 的内存管理,以及 Block 相关的原理.源码. 2 从 ARC 说起 说 iOS 的内存管理,就不得不从 ARC(Automatic Referen…
转载:http://www.jianshu.com/p/1b5cbf155b31 前言 在软件开发领域里经常能听到这样一句话,"过早的优化是万恶之源",不要过早优化或者过度优化.我认为在编码过程中时刻注意性能影响是有必要的,但凡事都有个度,不能为了性能耽误了开发进度.在时间紧急的情况下我们往往采用"quick and dirty"的方案来快速出成果,后面再迭代优化,即所谓的敏捷开发.与之相对应的是传统软件开发中的瀑布流开发流程. 卡顿产生的原因 在 iOS 系统中,…
这篇文章会对 OHHTTPStubs 源代码的分析,其实现原理是建立在 NSURLProtocol 的基础上的,对这部分内容不了解的读者,可以阅读这篇文章 iOS 开发中使用 NSURLProtocol 拦截 HTTP 请求了解相关知识,本文中不会介绍拦截 HTTP 请求的原理. 如何使用 OHHTTPStubs Mock 网络请求 HTTP Mock 在测试中非常好用,我们可以在不需要后端 API 的情况下,在本地对 HTTP 请求进行拦截,返回想要的 json数据,而 OHHTTPStubs…