自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 问答 (1)
  • 收藏
  • 关注

转载 UIScrollView的属性总结

UIScrollView的属性总结属性作用CGPoint contentOffSet监控目前滚动的位置CGSize contentSize滚动范围的大小UIEdgeInsets contentInset视图在scrollView中的位置iddelegate

2014-04-30 12:37:28 922

转载 iOS 5.0 后UIViewController新增方法

在iOS 5.0以前,我们在一个UIViewController中这样组织相关的UIView在以前,一个UIViewController的View可能有很多小的子view。这些子view很多时候被盖在最后,我们在最外层ViewController的viewDidLoad方法中,用addSubview增加了大量的子view。这些子view大多数不会一直处于界面上,只是在某些情

2014-04-30 12:23:17 515

转载 iOS5 strong, weak, unsafe_unretained ARC

iOS5中加入了新知识,就是ARC,其实我并不是很喜欢它,因为习惯了自己管理内存。但是学习还是很有必要的。有时我们写个代码开源出来给别人用时,会被其他开发者抱怨编译不了,很多情况是版本的问题,尤其现在ARC的出现后关于weak,strong的问题让人头疼。有个开源代码这里做的很不错,就是MBProgressHUD看下他是怎么做的:#ifndef 

2014-04-30 12:21:29 502

转载 layoutSubviews总结

ios layout机制相关方法- (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————-- (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout——————–- (void)setNeedsDisp

2014-04-28 11:43:48 1072

转载 initWithNibName/awakeFromNib/initWithCoder

转自:http://leeyin.iteye.com/blog/1040362每个ios开发者对loadView和viewDidLoad肯定都很熟悉,虽然这两个函数使用上真的是非常简单,但是和类似的initWithNibName/awakeFromNib/initWithCoder放在一起还是非常容易让人混淆的. 昨天看了下苹果官方的相关文档以及几篇相关内容

2014-04-28 11:42:16 531

转载 UIViewController的生命周期及iOS程序执行顺序

当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序1、 alloc                                   创建对象,分配空间2、init (initWithNibName) 初始化对象,初始化数据3、loadView                          从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图

2014-04-28 11:41:33 499

转载 【IPC通信】基于管道的popen和pclose函数

标准I/O函数库提供了popen函数,它启动另外一个进程去执行一个shell命令行。这里我们称调用popen的进程为父进程,由popen启动的进程称为子进程。popen函数还创建一个管道用于父子进程间通信。父进程要么从管道读信息,要么向管道写信息,至于是读还是写取决于父进程调用popen时传递的参数。下在给出popen、pclose的定义:0

2014-04-24 14:46:02 567

转载 使用system()函数一定要谨慎-2

今天,一个运行了近一年的程序突然挂掉了,问题定位到是system()函数出的问题,关于该函数的简单使用在我上篇文章做过介绍: http://my.oschina.net/renhc/blog/53580先看一下问题简单封装了一下system()函数:1int pox_system(const char *cmd_line)

2014-04-24 14:42:31 847

转载 使用system()函数一定要谨慎-1

曾经的曾经,被system()函数折磨过,之所以这样,是因为对system()函数了解不够深入。只是简单的知道用这个函数执行一个系统命令,这远远不够,它的返回值、它所执行命令的返回值以及命令执行失败原因如何定位,这才是重点。当初因为这个函数风险较多,故抛弃不用,改用其他的方法。这里先不说我用了什么方法,这里必须要搞懂system()函数,因为还是有很多人用了system()函数,有时你不得不面对它

2014-04-24 14:40:54 1796

转载 iOS、iphone 调用shell脚本

由于ios中没有 cocoa的NSTask 所以要在cocoa touch SDK中执行shell 只能用系统调用 int system(const char * string);例如:system("ls");注意system是系统C函数 所以参数不要使用NSString;函数库:include system(执行shell 命

2014-04-24 14:38:48 5256

转载 如何用代码实现iPhone手机软件注销和手机重启

注销和重启都分别用命令就行system("killall SpringBoard");(亲自试过,确实可以注销掉软件,就跟删除一样)system("reboot");(暂时没有试过)

2014-04-24 14:36:04 7828

转载 在IOS代码中使用UNIX命令

本人最近在做一个iPhone短信上传下载的项目,在短信下载完成后,需要重启SMS app才可以看到下载后的短信内容。但是实际中让用户去重启sms app,必然是不可能的,所有只能在代码里面实现同样的效果。使用unix命令来结束短信进程,当用户再回到短信页面的时候,短信其实已经重启启动了。定义一个文件UnixCMD.c文件内容如下:[csharp]#inc

2014-04-24 12:27:22 856

转载 xcode 5 cert and provision profile issue

Ref Links:https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html#//apple_ref/doc/uid/TP40012582-CH31-SW16

2014-04-22 15:20:12 951

转载 UIViewControllerHierarchyInconsistencyException异常

IOS中的MVC       MVC模式是一种经典的软件架构模式,基本上懂程序设计的人都了解或应用过MVC模式。多数面向对象的程序设计架构都得益于MVC模式来有效的划分程序中的对象的角色,组织对象之间的耦合关系(MVC的具体定义和描述可以参见 维基百科),Cocoa Touch提供了IOS的开发环境,包含了诸多基础类库和框架,其中UIKit框架提供并实现了MVC模式。在IOS中UIVi

2014-04-21 16:39:32 4285

转载 自定义UICollectionViewLayout并添加UIDynamic

UICollectionView是iOS6引入的控件,而UIDynamicAnimator是iOS7上新添加的框架。本文主要涵盖3部分:一是简单概括UICollectionView的使用;二是自定义一个UICollectionViewLayout来实现不同的Collection布局;三是在自定义UICollectionViewLayout的基础上添加UIDynamicAnima

2014-04-18 18:39:33 1447

转载 [Cocoa]深入浅出 Cocoa 之 Core Data(4)- 使用绑定

前面讲解了 Core Data 的框架,并完全手动编写代码演示了 Core Data 的运作过程。下面我们来演示如何结合 XCode 强大的可视化编辑以及 Cocoa 键值编码,绑定机制来使用 Core Data。有了上面提到的哪些利器,在这个示例中,我们无需编写 NSManagedObjectModel 代码,也无需编写 NSManagedObjectContext,工程模版在背后为我们做了这些

2014-04-18 17:49:47 656

转载 [Cocoa]深入浅出 Cocoa 之 Core Data(3)- 使用绑定

前面讲解了 Core Data 的框架,并完全手动编写代码演示了 Core Data 的运作过程。下面我们来演示如何结合 XCode 强大的可视化编辑以及 Cocoa 键值编码,绑定机制来使用 Core Data。有了上面提到的哪些利器,在这个示例中,我们无需编写 NSManagedObjectModel 代码,也无需编写 NSManagedObjectContext,工程模版在背后为我们做了这些

2014-04-18 17:48:03 570

转载 [Cocoa]深入浅出 Cocoa 之 Core Data(2)- 手动编写代码

前面详细讲解了 Core Data 的框架以及设计的类,下面我们来讲解一个完全手动编写代码使用这些类的示例,这个例子来自苹果官方示例。在这个例子里面,我们打算做这样一件事情:记录程序运行记录(时间与 process id),并保存到xml文件中。我们使用 Core Data 来做这个事情。示例代码下载:点击这里一,建立一个新的 Mac command-lin

2014-04-18 17:46:11 557

转载 [Cocoa]深入浅出 Cocoa 之 Core Data(1)- 框架详解

Core data 是 Cocoa 中处理数据,绑定数据的关键特性,其重要性不言而喻,但也比较复杂。Core Data 相关的类比较多,初学者往往不太容易弄懂。计划用三个教程来讲解这一部分:框架详解:讲解  Core data 框架,运作过程,设计的类;Core data应用程序示例:通过生成一个使用 Core data 的应用程序来讲解如何 在  XCode 4 中使用 Core

2014-04-18 17:45:19 768

转载 iOS App升级安装 - CoreData数据库升级

如果IOS App 使用到CoreData,并且在上一个版本上有数据库更新(新增表、字段等操作),那在覆盖安装程序时就要进行CoreData数据库的迁移,具体操作如下:1.选中你的mydata.xcdatamodeld文件,选择菜单editor->Add Model Version  比如取名:mydata2.xcdatamodel2.设置当前版本   

2014-04-18 17:44:24 581

转载 ios scroll view 原理

scroll view 原理 在滚动过程当中,其实是在修改原点坐标。当手指触摸后, scroll view会暂时拦截触摸事件,使用一个计时器。假如在计时器到点后没有发生手指移动事件,那么 scroll view 发送scroll view 原理在滚动过程当中,其实是在修改原点坐标。当手指触摸后, scroll view会暂时拦截触摸事件,使用一个计时器。假如在计时器到点后没有发生手

2014-04-18 17:38:55 1043

转载 UICollectionView 使用 介绍

1.1. Collection View全家福:UICollectionView, UITableView, NSCollectionViewn   不直接等效于NSCollectionViewn   也不替代UITableView----亲兄弟 为什么要使用Collection Views呢?n  可以高度定制内容的展现n  管理数

2014-04-18 17:34:03 1438

转载 开发者所需要知道的iOS6 SDK新特性

欢迎转载本文,但是转载请注明本文出处: http://2.gy/erSpiOS6 beta和相应的SDK已经放出了,WWDC2012要进入session环节了。iOS6无疑是这届WWDC的重点,在keynote上面对消费者展示了很多新鲜的特性,而之后的seesion对于开发者来说应该是更为重要。这里先大概把iOS6里新增的开发者可能用到的特性做个简单的整理。之后我也会挑一些自己感兴趣的se

2014-04-18 17:27:37 607

转载 常用系统宏定义

1.区分系统是否为IOS6.0#ifdef __IPHONE_6_0 - (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {    NSLog(@"-------------");    re

2014-04-18 15:29:02 767

转载 解析在Xcode中进行条件编译

解析在Xcode中进行条件编译是本文要介绍的内容,主要介绍了如何实现在xcode中进行条件编译的内容,同时让我们又解馋了xcode的相关内容,内容不多,我们先来看详细内容。条件编译不是多高深的技术,却很实用,可以帮助我们针对不同的target编译出不同的版本。比如,希望同一份代码编译出完全版和功能受限的免费版,以减小维护成本。首先要在某个project或者target上get in

2014-04-18 15:28:08 1516

转载 Objective--C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)

预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。在C语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入源代码,检查包含预处理指令的语句

2014-04-18 15:27:19 595

转载 iOS ARC详解

ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机能。简单地理解ARC,就是通过指定的语法,让编

2014-04-17 16:06:58 615

转载 __bridge,__bridge_retained和__bridge_transfer的意思,区别与使用

使用ARC能帮我们减轻不少内存管理方面的负担,尤其是对用惯了Java的程序员来说。但是像我这种Java基础本身就不牢固,做了两年的iOS已经习惯手动管理内存的半吊子,使用ARC还是经常碰壁。最近碰到了CFObject和NSObject转换的问题,由于ARC不能管理Core Foundation Object的生命周期,所以在Core Foundation和ARC之间,我们需要使用到__br

2014-04-17 15:56:46 488

转载 Objective-C的新特性

苹果在今年的WWDC2012大会上介绍了大量Objective-C的新特性,能够帮助iOS程序员更加高效地编写代码。在不久前更新的XCode4.4版本中,这些新特性已经可以使用了。让我们看看这些新特性有哪些:Object Literals这个是我认为最赞的一个改进。Object Literals允许你方便地定义数字、数组和字典对象。这个功能类似于java5提供的auto boxin

2014-04-08 16:45:43 743

转载 Core Data 模型版本升级和数据迁移(四)迁移过程

数据迁移过程中,Core Data 创建了两个栈(stacks),一个用于源存储(source store),一个用于目标存储(destination store)。随后,Core Data 从源栈中获取对象,对应的将其插入目标栈。注意:在新栈中,诸多对象是 Core Data 重新创建(re-create)的。概述在ios中物理存储是绑定到对应的模型上的,因此,当

2014-04-08 14:51:57 968

转载 Core Data 模型版本升级和数据迁移(三)映射概述

虽然 Core Data 可以利用“轻量级迁移”(“Lightweight Migration.”),但如果 Core Data 推测不出来时,我们需要告诉 Core Data 如何转换,这就是映射模型(mapping model)了。映射模型(mapping model)是一个集合,集合包含了所有必须的转换,比如重命名实体/表、添加新属性/字段等。创建映射模型貌似不难,因为Xcode

2014-04-08 14:51:13 1251

转载 Core Data 模型版本升级和数据迁移(二)轻量级数据迁移

轻量级数据迁移(下称LM), Core Data 自动执行,适用模型简单改变(simple changes),包括:实体/表中增加新属性/字段,LM 与普通迁移原理完全一样,只是不需要映射模型(mapping model) (参见 “Mapping Overview”),Core Data 自行推测(infers)版本间的差异。LM 适用于APP早期开发,那时总是在改变

2014-04-08 14:50:08 927

转载 Core Data 模型版本升级和数据迁移(一)简介

Core Data 支持随着app开发演进而带来的对象模型(managed object model)升级或修改的管理。模型的改变将导致不兼容(或不能打开)以前版本创建的存储。如果你要改变你的模型,你就必须要改变现有存储中的数据-也就是数据存储格式(store format)-这被称为迁移(migration)。要想迁移数据,你既需要原始版本,又需要当前版本。因此,需要创建 带版本的模

2014-04-08 14:48:27 3445

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除