- 博客(114)
- 收藏
- 关注
转载 CoreData 深入理解6 Mapping Model
通常,我们都会尽量使数据模型的变化尽量简单。但有些情况下,不得不进行大的改动,甚至是重新设计数据模型。在这种情况下,之前提过的简单数据迁移已经无法适应了,需要引入Mapping Model这个中间层。这时,又想起之前提过的一句话:There is no problem in computer science that can’t be solved by adding
2016-03-09 16:59:41 630
转载 Core Data 深入理解5 --(版本数据迁移)
Core Data版本迁移基础通常,在使用Core Data的iOS App上,不同版本上的数据模型变更引发的数据迁移都是由Core Data来负责完成的。这种数据迁移模式称为Lightweight Migration(可能对于开发人员来说是lightweight),开发人员只要在添加Persistent Store时设置好对应选项,其它的就交付给Core Data来做了:
2016-03-09 16:57:27 509
转载 coreData 深入理解4 --总结 (线程安全与同步--iOS5 前后对比)
目录(?)[+]Core Data是iOS中很重要的一个部分,可以理解为基于SQLite(当然也可以是其他的Storage,如In-memory,只是SQLite比较常见)的一个ORM实现,所以有关系数据库的特性,又不用写SQL。顺便吐一下槽,官方说法是使用Core Data能减少50%-70%的代码量,但相信用过的人应该都心里明白,Core Data使用起来还是比较麻烦的
2016-03-09 16:55:14 534
转载 coreData 深入理解3 (iOS5 以前线程安全与同步)
iOS5 以前采用方法:1: 主线程修改了数据库的某一条记录,但是子线程没有发生变化,反过来一样的问题。这种情况一般是发生在app有多个NSManagedObjectContext,两个线程分别对其进行了读写操作。2: 有时候程序会莫名其妙的crash掉,这个有很多原因: a: 有时候是因为两个线程同时读写数据库中的同一条记录。
2016-03-09 16:52:44 396
转载 CoreData 深入理解2 (iOS5 以后线程安全与同步)
up vote6down votefavorite9I've seen a few videos / threads that say it's possible to create 'children' MOCs -- MOCs that use other MOCs as their persistant stores. Useful, for ex
2016-03-09 16:51:18 396
转载 CoreData 深入理解1
原文:Avoiding Ten Big Mistakes iOS Developers Make with Core Data 感谢会员dingdaojun的校对。 Core Data是苹果针对Mac和iOS平台开发的一个框架,主要用来储存数据。对很多开发者来说,Core Data比较容易入手,但很难精通,如果没有正确的学习方法,你将很难真正理解它,更不用说精
2016-03-09 16:49:40 367
转载 CoreData多线程安全
CoreData中的NSManagedObjectContext在多线程中不安全,如果想要多线程访问CoreData的话,最好的方法是一个线程一个NSManagedObjectContext,,每个NSManagedObjectContext对象实例都可以使用同一个NSPersistentStoreCoordinator实例,这个实例可以很安全的顺序访问永久存储,这是因为NSManage
2016-03-09 16:47:43 383
转载 CoreData 概览
一、技术概览1. Core Data 功能初窥 对于处理诸如对象生命周期管理、对象图管理等日常任务,Core Data框架提供了广泛且自动化的解决方案。它有以下特性。 (注:对象图-Object graph的解释:在面向对象编程中,对象之间有各种关系,例如对象直接引用另外的对象,或是通过引用链间接的引用其他对象,这些关系组成了网状的结构。我们把这些对象(和它们之间的联系)成为对象图
2016-03-09 16:45:33 323
转载 如何制作os x mavericks 启动盘
OS X Mavericks GM 版已经出来了,但 OS X Mavericks 安装包的一些结构由于发生变化, 所以不能通过之前方式来制作 U盘了。下面提供新的启动盘制作方法(当然也可以量产为CD-ROM) 1. 首先你需要开启显示隐藏文件的功能。 打开Terminal(终端),输入: sudo passwd root [sudo] password for you :---
2014-06-07 14:57:49 821
转载 如何使用KeyChain保存和获取UDID
本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不变UDID的问题。并给出一个获取UDID的工具类,使用方便,只需要替换两个地方即可。 一、iOS不用版本获取UDID的方法比较 1)iOS 5.0 iOS 2.0版本以后UIDevice提供一个获取设备唯一标识符的方法uniqueIdentifier,通过该方法我们可
2014-04-29 09:47:48 554
转载 iOS 设置字体 自定义字体
1.网上搜索字体文件(后缀名为.ttf,或.odf)2.把字体库导入到工程的resouce中3.在程序添加以下代码 输出所有字体NSArray *familyNames = [UIFont familyNames]; for( NSString *familyName in familyNames ){ printf( "Family:
2014-04-23 16:51:47 764
转载 svn如何屏蔽/忽略不需要版本控制的文件
"在Xcode中Commit的时候UserInterfaceState.xcuserstate这个文件频繁更新,让人非常困惑."查网上资料,"大部分说在 Versions 的配置文件 ~/.subversion/config 中通过设置global-ignores忽略对 xcuserstate 类型文件的版本控制",但是我设置了就是不管用.最后查阅svn官方文档得到屏蔽版本控制的方
2014-04-04 15:45:17 4323
转载 Xcode把应用程序打包成ipa
Xcode教程 Xcode4发布测试 打包Archive操作是本文要介绍的内容,发布测试的最后一步打包(Archive),Xcode4帮助文档有比较详细介绍,但是居然是错的,这里说明一下。1、设置“Build Settings” ,下图是官方文档截图,留意那个红框,居然说反了。"Skip install"一定要选NO,否则在下面的打包步骤后,Organizer看不到你的程序
2014-03-28 15:55:31 711
转载 iphone各代cpu架构及xcode对ios sdk版本及cpu架构的支持
原来的iPhone,iPhone3G 以及 第一代和第二代的iPod Touch 均只支持 Armv6的CPU指令集。然而,随着iPhone3GS 这款新产品的发布,Apple 开始支持新的指令集 Armv7,iPhone5的所有设备支持Armv7s,且向下兼容。为了保持向下兼容,且支持旧有设备及旧有指令集,Apple支持胖二进制代码(fat binaries)也就是在可执行文件中支持更多的平
2014-03-27 11:51:15 1366
转载 iOS中的静态库和动态库
一、什么是库?库是共享程序代码的方式,一般分为静态库和动态库。二、静态库与动态库的区别?静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。三、iOS里静态库形式?.a和.framework四、iOS里动态库形式?.dylib
2014-03-27 09:46:01 611
转载 iOS5 UIKit新特性
在ios5推出之前,要实现标准界面的定制设计,对于开发者来说可没有那么简单。尽管开发者可以通过重写drawRect是一个不错的办法,但开发者也很头痛。现在有了ios5了,UIKit添加了许多控件元素的外观。开始前的准备 首先请下载这个初始项目(http://www.raywenderlich.com/downloads/SurfsUpStarter.zip) 我已经
2014-03-20 09:28:11 548
转载 在Mac OS X 10.8中配置Apache + PHP + MySQL
用趣味的心态,开发有趣味的应用。简单是一种美丽~~~博客园首页博问闪存新随笔联系订阅管理随笔- 23 文章- 0 评论- 58 在Mac OS X 10.8中配置Apache + PHP + MySQL在Mac OS X 10.8中配置Apache+PHP+MySQL的内容包括:配置Apache配置PHP安装MySQL
2014-03-14 17:42:34 623
转载 Mac 下 搭建 svn 服务器
[plain] view plaincopysvn import /Users/gaohf/projects/demo/ svn://localhost/svn/repository/demo --username gaohf --password 123456 -m "Initial import" Mac自带了svn服务端和客户端,所以只需要简
2014-03-14 15:58:53 532
转载 开源免费软件
一段时间前发过一篇介绍ios和macos下的开源免费软件的文章(传送门在此:http://bbs.weiphone.com/read-htm-tid-5501665.html),看到有不少同学问这些软件在哪里下载。今天整理一下重新发布。 提供链接均为官方链接,版本为写作时的最新版本。截图均为本人运行截图。 再次强调,全部为开源或免费软件。无需付费。无需破解。
2014-03-12 15:51:34 1847
转载 ios中KeyChain用途(整理)
一、在应用间利用KeyChain共享数据我们可以把KeyChain理解为一个Dictionary,所有数据都以key-value的形式存储,可以对这个Dictionary进行add、update、get、delete这四个操作。对于每一个应用来说,KeyChain都有两个访问区,私有区和公共区。私有区是一个sandbox,本程序存储的任何数据都对其他程序不可见。而要想在将存储的内容放在公共区,
2014-03-06 15:45:26 624
转载 使用keyChain存储用户敏感信息
iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立的keychain存储。相对于NSUserDefaults、文件保存等一般方式,keychain保存更为安全,而且keychain里保存的信息不会因App被删除而丢失,所以在重装App后,keychain里的数据还能使用。从ios 3。0开始,跨程序分享keychain变得可行。
2014-03-06 15:36:00 650
转载 iOS: HTTPS 与自签名证书
不是每个公司都会以数百美金一年的代价向CA购买SSL证书。在企业应用中,付费的SSL证书经常被自签名证书所替代。当然,对于自签名证书iOS是没有能力验证的。Safari遇到这种无法验证的自签名证书的唯一处理方法,就是将问题扔给用户,让用户决定是否应该相信此类证书。它提供了两个按钮,一个“继续”按钮和一个“取消”按钮。当你点击“取消”按钮,则你将无法访问所请求的资源。 当你点击“继续”按钮,则Saf
2014-02-26 10:46:42 959
转载 AFNetworking入门
这篇笔记是在 AFN v0.10.1 时候写的,AFN v1.0 以后加入了不少新东西,比如 SSL 支持,不过整体结构没有变化。后续跟进了一篇 AFNetworking Notes 2上图来自 @mattt 对 AFN 的介绍:Everybody Loves AFNetworking And So Can You!. 学习 AFN,简单记录一下以加深自己理解。AF
2014-02-21 17:32:06 1147
转载 AFNetworking-2.0.3 post使用方法
随着asihttprequest的停止更新,许多人都转向了AFNetworking、 MKNetworkKit.我也是其中一个。于是我从网上找了许多文章作参考,但是结果都是失败告终。研究了好久都搞不透,最后还是请人帮忙搞定了。经常从网上索取免费资料的一员,要有回报的思想,也为了让更多的人少走些弯路,所以下面是代码:(有错误可以指出)首先:将AFNetworking、UIKit+AFNe
2014-02-21 17:17:55 2429
转载 AFNetworking2.0 NSHipster翻译(大牛)
AFNetworking 是当前 iOS 和 Mac OS X 开发中最广泛使用的开源项目之一。它帮助了成千上万叫好又叫座的应用,也为其它出色的开源库提供了基础。这个项目是社区里最活跃、最有影响力的项目之一,拥有 8700 个 star、2200 个 fork 和 130 名贡献者。从各方面来看,AFNetworking 几乎已经成为主流。但你有没有听说过它的新版呢?AFN
2014-02-20 10:31:55 1020
转载 AFNetworking、MKNetworkKit和ASIHTTPRequest对比
之前一直在使用ASIHTTPRequest作为网络库,但是由于其停止更新,iOS7上可能出现更多的问题,于是决定更换网络库。 目前比较流行的网络库主要有AFNetworking和MKNetworkKit,经过一番google后,得出这三个库之间的比较如下: AFNetworking MKNetworkKit ASIHTTP
2014-02-20 10:08:08 867
转载 UISearchDisplayController学习笔记
今天在使用UISearchDisplayController和UISearchBar时,出现了无法进入全屏搜索模式等问题,折腾了很长一段时间才解决掉。在这里把心得分享给大家,希望能对大家有帮助。首先需要明确的是,如果不需要使用全屏模式搜索模式的话,用UISearchBar就够了,直接初始化加入controller中即可。但是我们在实践中常常需要使用到全屏搜索。全屏搜索的代码在网上一搜可以搜
2014-02-20 09:51:54 700
转载 XCode5无法设置Deployment Target的解决办法
今天使用XCode5创建新项目的时候发现无法修改Deployment Target,只能选择iOS7,谷歌了一下找到了答案,在这里分享给大家:)这是由于XCode5默认会选择在64位的环境下运行,在Build Settings中修改Architectures为Standard architectures(armv7, armv7s),回到General中即可修改Deployment Tar
2014-02-19 15:56:00 779
转载 iphone开发之UITableView 札记
代码创建控件UITableView *myTableView = [[UITableView alloc] initWithFrame:CGRectMake:(0,0,320,480) style:UITableViewStylePlain];myTableView.deleg
2014-02-14 15:11:35 557
转载 在iOS开发中使用FMDB
前言http://blog.devtang.com/blog/2012/04/22/use-fmdb/SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库。iOS SDK很早就支持了SQLite,在使用时,只需要加入 libsqlite3.dylib 依赖以及引入 sqlite3.h 头文件即可。但是,原生的SQLite API
2014-02-14 14:47:56 477
转载 支付宝为什么可以在ios上架
为什么支付宝内的支付app可以在appstore上存活呢? 很简单,因为apple的规定说的是购买该应用的内容、功能或服务。比如某个游戏,免费的只能玩10关,剩下的部分需要支付才能玩,这个购买的就是该游戏的内容。支付宝上的支付不是用来购买支付宝这个应用的内容、功能或服务的。你不会需要花钱才能用到支付宝上的功能。同理,其他银行、财经类应用也都是不受限制的。
2014-01-08 12:54:42 941
原创 不使用ARC的年代
如果不使用ARC,那么在堆内存中所开辟的东西,都是需要使用手工进行释放的,为什么需要手工进行释放呢?就是因为对象在创建的过程中,自动把对象内部的计数器加1,异致垃圾回收器无法把这个对象所占的内存空间释放掉垃圾回收器:1Java中的垃圾回收器是全自动的,只要对象没有被其它变量所引用,垃圾回收器就会在合适的时机,把对象所占内存回收掉2OC中的垃圾回收器是半自动的,需
2014-01-08 10:01:20 538
原创 经典死循环
在用到UIViewController对象的view时,如果UIViewController对象的_view成员变量是空的,则会调用UIViewController对象的-loadView方法初始化一个. 重写UIViewController对象的-loadView方法.-(void)loadView{ //这是一个死循环 self.view =
2014-01-06 12:04:55 716
原创 OC中的谓词
谓语:就是英语中的am,is,are,用来做判断用的NSPredicate类中的方法:+ (NSPredicate*)predicateWithBlock:(BOOL (^)(id evaluatedObject, NSDictionary *bindings))block; + (NSPredicate *)predicateWithFormat:(NSStr
2014-01-06 12:02:18 949
原创 在OC中获取C的数据类型
--------------------------1--使用@encode关键字-------------------- 使用@encode关键字,可以获取C和OC中的数据类型. 返回一个字符串的首字母的地址. 用法:enum workday{ mon,tue,thr,fri};struct aaa{ int a;
2014-01-06 12:00:22 1293
转载 ios监听静音键和音量键事件
判断是否静音:view plaincopyto clipboardprint?- (BOOL)isMuted { CFStringRef route; UInt32 routeSize = sizeof(CFStringRef); OSStatus status = AudioSessionGetPro
2014-01-06 11:49:49 1591
转载 ios开发-剪切板
在iOS中,可以使用剪贴板实现应用程序之中以及应用程序之间实现数据的共享。比如你可以从iPhone QQ复制一个url,然后粘贴到safari浏览器中查看这个链接的内容。一、在iOS中下面三个控件,自身就有复制-粘贴的功能:1、UITextView2、UITextField3、UIWebView二、UIKit framework提供了几个类和协议方便我们在自己的应用程序
2014-01-06 11:47:34 615
转载 iOS DES ECB模式对称加密解密
最近忙于android和iOS的项目,写完了android的DES 的ECB模式加密解密(相关连接:http://blog.csdn.net/vipa1888/article/details/8086037),又回到了Ios上面,因为本人也是最近今年开始研究ios的,所以Ios上面好多东西都不懂,进过了半年的研究,终于吧ios的DES 的ECB模式对称加密解密搞定了,本人遇到的问题很严重的
2014-01-06 11:45:50 762
转载 iOS网络编程实践--NSStream实现TCP Socket iPhone客户端
[self initNetworkCommunication]; } 它们都调用initNetworkCommunication方法,并设置操作标识flag,如果flag为0发送数据,flag为1接收数据。流的状态的变化触发很多事件,并回调NSStreamDelegate协议中定义的方法stream:handleEvent:,其代码如下: -(void)stream:(
2014-01-06 11:41:22 564
转载 iOS7初体验——图像资源Images Assets
件陌生之外,其他文件都是刚刚拖拽进Xcode的,双击查看一下Contents.json文件内容:[html] view plaincopyprint?{ "images" : [ { "size" : "29x29", "idiom" : "iphone", "filename" : "Icon-Small.pn
2014-01-06 11:39:19 633
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人