- 博客(30)
- 资源 (2)
- 收藏
- 关注
iPhone应用程序开发使用Core Data(三)
接上篇关于Core Data的使用我在开篇的时候就介绍过他的优点,其中很重要的一点就是通过schema migration工具可以简化应对数据库结构变化的任务,并且可以高效率的数据库原地迁移工作。本篇内容我们介绍如何实现Core Data的数据迁移能力。 假定一个场景,随着业务发展的需求,我们需要调整我们的数据存储结构,还是以之前文章中的例子TestCoreD
2013-06-25 16:50:21 127
原创 iPhone应用程序开发使用Core Data(三)
接上篇关于Core Data的使用我在开篇的时候就介绍过他的优点,其中很重要的一点就是通过schema migration工具可以简化应对数据库结构变化的任务,并且可以高效率的数据库原地迁移工作。本篇内容我们介绍如何实现Core Data的数据迁移能力。 假定一个场景,随着业务发展的需求,我们需要调整我们的数据存储结构,还是以之前文章中的例子TestCoreD
2013-06-25 16:18:52 114
iPhone应用程序开发使用Core Data(三)
接上篇关于Core Data的使用我在开篇的时候就介绍过他的优点,其中很重要的一点就是通过schema migration工具可以简化应对数据库结构变化的任务,并且可以高效率的数据库原地迁移工作。本篇内容我们介绍如何实现Core Data的数据迁移能力。 假定一个场景,随着业务发展的需求,我们需要调整我们的数据存储结构,还是以之前文章中的例子Tes
2013-06-25 15:01:45 126
原创 Objective-C Protocol Buffers for IOS
1、首先到这个链接处:http://code.google.com/p/metasyntactic/downloads/list 下载Objective-C代码的生成包,创建protoc编译器:./autogen.sh./configuremake备注:运行.sh及make命令,需要在XCODE中安装command Line Tools,并在系统中安装automa
2013-06-25 11:40:15 5045 1
转载 iOS7中的新特征Framework的改进、Objective-C和已经过时的API
本文转自CocoaChina(http://www.cocoachina.com/newbie/basic/2013/0615/6414.html),大家兼容IOS7的时候可以参考,介绍的比较详细了。已有Framework的改进(19个)下面我们来看看iOS7中有明显修改的一些framework。如果要查看完整的新接口,请查看iOS 7.0 API Diffs。本部分内容看
2013-06-24 11:10:45 1012
原创 浅谈IOS开发中关于数据存储的一些问题(1)
iOS中数据存储常见的有四种方式: 属性列表、对象归档、ios嵌入式数据库(SQLite3)和Core Data(苹果提供的工具)1.访问指定位置的文件夹。访问Documents文件夹NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUSErDomainMask,
2013-06-23 17:47:04 642
原创 关于iOS自动化测试种怎么方便的获取控件元素
在编写测试用例的时候,一种方式是用,索引的方式来找到控件,这种方式如果界面稍有改变,整个用例,就废掉了。二使用控件的元素的名字来找控件,这样就要求,开发在编写代码的时候,要为控件起名字,否则自动化测试很难展开。当测试人员没有开发的代码的是时候,我们也需要编写测试用例的时候,我们就需要知道当前交界面元素的一些属性。方法有两个,第一个在模拟器, 设置-》通用-》辅助功能-》Acce
2013-06-20 11:53:02 1390
原创 关于iOS自动化测试一点研究--UIAutomation
这几天主要研究了一下关于自动化测试的一些内容。看了很多的资料,有的写的详细,有的写的一般。对这几天的工作进行一个总结。还有很多的东西,以后继续。 自动化测试:1.简单介绍一下UIAutomation的用法 2.介绍一下一个脚本的开发 3.后续工作继续的内容,以及一
2013-06-20 11:27:34 2838
原创 Core Data could not fulfill a fault
做项目的时候在iOS4系统遇到过这样一个crash,console显示的错误信息是“Core Data could not fulfill a fault”。字面意思是什么?“Core Data 无法完成一个错误”,直觉上认为这样翻译肯定是不对的,fault怎么可以fulfill。百思不得其解,唯有求助google,在官方文档《Core Data Programming Guide》(http
2013-06-18 15:25:28 2956
原创 如何处理低内存警告
(相信大家对这个话题都不陌生,甚至比我更精通,我写这篇分享的主要目的是让自己巩固记忆,因为我曾经对此非常困惑。欢迎大家指正错误、查漏补缺。) 有限的内存空间,使得iOS设备的内存常常吃紧,这时系统会向运行中的应用发出低内存警告,从而调用UIApplicationDelegate的方法:- (void)applicationDidReceiveMemoryWarning:(
2013-06-17 13:37:21 1120
原创 iPhone应用程序开发使用Core Data (二)
接上篇,在上篇文章中我们描述了如何在自己的iOS项目中使用CoreData,本篇文章我来剖析一下Core Data框架,具体介绍Core Data框架中关键的几个元素的作用,及他们之间的关系。下面介绍过程中,关键词就不做翻译了,翻译不准确总觉的变扭,还不如用原文档中的英文来的直接。先看看Core Data Framework的几个重点关键字:a) Persistent Store (
2013-06-13 17:08:25 1261
原创 NSURLConnection类简介
在通过http下载数据的时候,我们经常会用到NSURLConnection这个类。下面来简单介绍一下这个类。简介:NSURLConnection的对象提供支持执行加载一个URL请求。NSURLConnection的接口是稀疏的,只提供控制开始和取消一个URL请求的异步下载方法。NSURLConnection的代理方法定义在NSURLConnectionDelegate协议里面。NSUR
2013-06-08 17:29:36 1805
原创 iPhone应用程序开发使用Core Data (一)
相信做过iOS开发的同学们,对SDK提供的Core Data框架应该都有所耳闻,关于使用Core Data开发的优点简单说几句,也好让大家有兴趣继续阅读本文。依据官方文档描述,使用Core Data开发应用程序有如下几点优势:1) 使用延迟加载(lazy loading)的方式减少内存负载;2) 内置了版本跟踪和乐观锁定(optimistic locking
2013-06-06 17:24:47 1126
原创 iPhone应用程序开发使用Core Data (一)
iPhone应用程序开发使用Core Data (一) 相信做过iOS开发的同学们,对SDK提供的Core Data框架应该都有所耳闻,关于使用Core Data开发的优点简单说几句,也好让大家有兴趣继续阅读本文。依据官方文档描述,使用Core Data开发应用程序有如下几点优势:1) 使用延迟加载(lazy loading)的方式减少内存负载;
2013-06-06 16:20:48 100
原创 关于iOS虚拟内存的一些思考
一.关于iOS虚拟内存,一些文档资料都说iOS系统没有虚拟内存,我想对此说法纠正一下,顺便说一下虚拟内存的大概含义。 虚拟内存有两个含义:第一类:将进程占用的内存地址映射到RAM内其他位置, 第二类:将进程占用的内存地址映射到磁盘上面。iOS必定是有第一类虚拟内存的,但没有第二类。 二.如下图所示,一个程序既有物理内存,也有虚拟内存。
2013-06-05 14:07:14 1916
原创 iOS 中的并行代码
由于技术的发展,现在搭载多核心处理器的手机系统越来越多。在这些系统上如果要利用其多核心的优势让自己的程序运行速度更快,那免不了要利用多线程技术。更普遍的,如果要让一个耗时很长的操作不至于卡住用户界面,我们一般会把这个操作移交到另一个线程上做。当然,从操作系统的角度上讲,这个办法是(几乎)唯一的办法,没有任何错误。然而,操作系统对于线程的理解和码农们毕竟不一样。操作系统对于线程的调度能力
2013-05-22 07:48:59 765
原创 浅说Grand Central Dispatch(二)
在上一篇浅说Grand Central Dispatch(一)文章中,我们介绍了全局queue和main queue,这篇文章我们介绍怎么使用自定义的queue自定义的queue和main queue很类似,都是串行出队列执行的,一次出一个,执行完再出第二个。只不过main queue里面的任务是和UI相关的,自定义queue和UI无关比如我们看下面代码,然后看打印结果就知
2013-05-20 17:34:25 592
原创 iOS 音频开发之CoreAudio
接触过IOS音频开发的同学都知道,Core Audio 是IOS和 MAC 的关于数字音频处理的基础,它提供应用程序用来处理音频的一组软件框架,所有关于IOS音频开发的接口都是由Core Audio来提供或者经过它提供的接口来进行封装的,按照官方的说法是集播放,音频处理录制为一体的专业技术,通过它我们的程序可以同时录制,播放一个或者多个音频流,自动适应耳机,蓝牙耳机等硬件,响应各种电话中断,静
2013-05-20 17:33:07 4346 2
原创 Cocoapods的使用
Cocoapods的使用简介在iOS开发过程中,我们往往会用到大量的第三方库,比如ASIHTTPRequest、CocoaAsyncSocket、JsonKit等等。如果手动添加这些第三方库,往往费时费力,还容易出错。今天介绍的Cocoapods会让我们使用和管理第三方库非常方便和高效。 手动添加第三方库,首先需要把库的相关文件复制到项目中,然后需要手工地将一些framework添
2013-05-20 16:00:21 2303
原创 NSLog浅析
NSLog类我们经常用,我整理了一下NSLog相关的东西,就在这里写一个总结吧。仅为个人见解,有谬误处望大神指正~基本介绍:在Objective-C中,NSLog相当于C语言中的printf,常用于文字输出。NSLog很像printf,同样会在console中输出显示结果。不同的是,传递进去的格式化字符是NSString的对象,而不是char *这种字符串指针。NSLog的参数
2013-05-15 18:27:38 1104
原创 UIViewController的生命周期解析
在 loadView / init 之类函数中 alloc,则对应在dealloc释放 此类对象不用响应内存警告 didReceiveMemoryWarning可以无视 你期望支持动态释放的,请在 viewDidLoad中alloc,在viewDidUnload中 release 内容不足时如果当前view不显示,会被调用viewDidUnload方法一般情况下调用 init方
2013-05-15 13:30:41 863
原创 NSRunloop的解析及autorelease的释放时机
iOS的运行时是由一个一个runloop组成的,每个runloop都会执行下图所示的一些步骤:每个runloop中都创建一个Autorelease Pool,并在runloop的末尾进行释放,所以,一般情况下,每个接受autorelease消息的对象,都会在下个runloop开始前被释放。也就是说,在一段同步的代码中执行过程中,生成的对象接受autorelease消息后,一般是不会在代码段
2013-05-15 13:15:40 2593 1
原创 XCode 使用进阶之-编辑断点
1. 右击断点,弹出编辑断点对话框2. 编辑断点属性属性说明:condition: xcode执行到该断点处会判断condition条件,如果condition为真,程序在此处暂停Ignore: 默认为0, 如果设为n值, xcode判定condtion条件后,对n进行减1操作,当n为0时,xcode会暂停。action: 程序在该bp(breakpoint)断
2013-05-12 20:15:47 818
转载 iOS 模拟网络环境工具总结
本文转载自http://wp.me/p3bjNV-5Y上次写了一个关于未越狱手机抓包的文章(未越狱ios设备的抓包方法),世界一直很小,看RSS时无意中又有人介绍一款系统的工具,用来在mac系统上模拟各种网络环境:Network Link Conditioner.当然也找到了在ios设备上相应的工具。怀着激动的心情,把这两个小工具简单的介绍下。希望对各位有帮助。(一)Mac系统
2013-04-07 19:53:37 2510
原创 iOS手势UIGestureRecognizer
UIKit中包含了UIGestureRecognizer类,用于检测发生在设备中的手势。UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,它有下面一些子类用于处理具体的手势:1、拍击UITapGestureRecognizer (任意次数的拍击)2、向里或向外捏UIPinchGestureRecognizer (用于缩放)3、摇动或者拖拽UIPanGestu
2013-04-06 21:19:39 608
原创 xcode编译执行脚本
一直有个需求就是想编制版本不是光能自增版本号,还能记录当时打版本的时间,从网上找了好久都是自增版本号的,没有办法把shell学了学,搞定了需求,实现效果如下:今天2013040101,再编译一次变成2013040102这样的话,版本出错也能方便测试,脚本以及添加的位置如下:方便拷贝,代码如下version=`/usr/libe
2013-04-01 19:43:26 1802
原创 Core Text浅析
( 工作两年以来,除了最初的由零开始学习iOS编程外,后来的模式多是现用现学,以结果为导向。现在突然来了这么一遭,本人表示真心不适应。不过事儿的确是好事儿,只能慢慢适应了,毕竟我的写作水平还停留在毕设阶段。最近为了项目,接触了Core Text编程,就现学现卖一把了。) 一、 什么是Core Text?Core Text是在iOS3.2、OSX10.5及以上版本中引入的文本布局及格式化
2013-03-29 13:37:38 1853
原创 Core Text浅析
( 工作两年以来,除了最初的由零开始学习iOS编程外,后来的模式多是现用现学,以结果为导向。现在突然来了这么一遭,本人表示真心不适应。不过事儿的确是好事儿,只能慢慢适应了,毕竟我的写作水平还停留在毕设阶段。最近为了项目,接触了Core Text编程,就现学现卖一把了。) 一、 什么是Core Text?Core Text是在iOS3.2、OSX10.5及以上版本中引入的文本布局及格式化
2013-03-29 13:26:04 108
原创 浅说Grand Central Dispatch(一)
GCD(Grand Central Dispatch),是一套底层API,提供了一种新的方法来进行并发程序编写。在Mac OS X 10.6雪豹中首次推出,并引入到了iOS4.0。GCD的基本概念就是dispatch queue。dispatch queue是一个对象,它可以接受任务,并将任务以先到先执行的顺序来执行。dispatch queue可以是并发的或串行的。GCD中有三种
2013-03-25 15:33:14 522
原创 浅说Grand Central Dispatch(一)
浅说Grand Central Dispatch(一)GCD(Grand Central Dispatch),是一套底层API,提供了一种新的方法来进行并发程序编写。在Mac OS X 10.6雪豹中首次推出,并引入到了iOS4.0。GCD的基本概念就是dispatch queue。dispatch queue是一个对象,它可以接受任务,并将任务以先到先执行的顺序来执行。dispatch
2013-03-25 15:10:38 76
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人