IOS
Oborn
这个作者很懒,什么都没留下…
展开
-
UIViewController的生命周期
由于工作需要开始接触IOS开发,而ViewController是我们最常接触的,弄清ViewController的实现细节,才能灵活的进行IOS开发。这段时间看了许多关于ViewController的资料,现在整理如下,其中很多是参考网友资料。 ViewController属于MVC模式当中的C,他是View的Controller, 扮演者一个大管家的身份,管理着程序中的众多原创 2013-06-13 16:51:55 · 824 阅读 · 0 评论 -
iOS crashlog符号化方法
1、明确crashlog产生的版本,找到对应的安装包文件*.ipa和符号化文件*.app.dSYM;2、将安装包文件解压成*.app文件,符号化文件解压成*.dSYM文件(如果直接是,省去该步骤);3、符号化(两种方法)Ø 用Xcode直接符化a) 打开项目工程,在Products组中找到对应的app项;b) 右键选择show in Finde原创 2014-01-22 09:45:40 · 1946 阅读 · 0 评论 -
NSNotification、delegate和KVO的区别
1.效率肯定是delegate比nsnotification高。2. delegate方法比notification更加直接,最典型的特征是,delegate方法往往需要关注返回值, 也就是delegate方法的结果。比如-windowShouldClose:,需要关心返回的是yes还是no。所以delegate方法往往包含 should这个很传神的词。也就是好比你做我的delegat转载 2014-03-18 09:57:32 · 528 阅读 · 0 评论 -
object-c陷阱
一、快速枚举引起崩溃原创 2014-05-14 09:54:51 · 2003 阅读 · 0 评论 -
Objective-C Runtime
OC Runtime使用场景1、调用父类的父类的方法原创 2014-08-20 15:04:16 · 729 阅读 · 0 评论 -
NSThread & NSOperation & GCD
NSThread:1、NSThread属于轻量级的线程,类似其它平台传统的线程使用方式;使用者能明确的管理线程的生命周期以及运行方式;2、在需要一个确定的线程使用场景较为常用,如需要某些操作一直运行在一个固定的线程(可用NSMarchPort或performSelector:onThread:withObject:waitUntilDone:);3、NSThread必须要自己维护一个r原创 2014-02-21 09:19:11 · 888 阅读 · 0 评论 -
一篇很好的关于View&CALayer内存优化原理的文字
View Controller Lifecycle in iOS 6by thejoeconwayblogSome of you may have noticed that your view controllers no longer get sent viewWillUnload or viewDidUnload in iOS 6. That’s because your转载 2014-08-26 15:46:49 · 1010 阅读 · 0 评论 -
iOS递归打印UIView的结构
iOS递归打印UIView结构iOS在lldb调试窗口可用recursiveDescription打印该UIView的整个结构,如下:原创 2014-02-24 09:52:13 · 2535 阅读 · 0 评论 -
iOS APP重签名
1、安装codesign -f -s "iPhone Developer: Jun Jiang" --resource-rules Payload/*.app/ResourceRules.plist Payload/*.app转载 2014-09-01 16:45:46 · 2062 阅读 · 0 评论 -
xcode 中#pragma的使用
经常在 Xcode IDE 里面的代码中看到以下代码指令:#pragma mark -#pragma mark Initialization#pragma 是什么从技术上讲,以 #pragma 开头的代码是一条编译器指令,是一个特定于程序或编译器的指令。它们不一定适用于其它编译器或其它环境。如果编译器不能识别该指令,则会将其忽略。作用它们告诉Xcod转载 2014-10-13 17:46:39 · 764 阅读 · 0 评论 -
iOS申请延长进入后台代码片段
void runTaskInBackground(void (^taskBlock)(void), void (^timeOutBlock)(void), BOOL aSync){ __block UIBackgroundTaskIdentifier taskId = 0; taskId = [[UIApplication sharedApplication] beginBack原创 2014-02-17 20:20:33 · 1163 阅读 · 0 评论 -
ios中KeyChain用途
一、在应用间利用KeyChain共享数据我们可以把KeyChain理解为一个Dictionary,所有数据都以key-value的形式存储,可以对这个Dictionary进行add、update、get、delete这四个操作。对于每一个应用来说,KeyChain都有两个访问区,私有区和公共区。私有区是一个sandbox,本程序存储的任何数据都对其他程序不可见。而要想在将存储的内容放在公共区,转载 2014-02-27 14:37:15 · 697 阅读 · 0 评论 -
Key-Value Observing机制
Key-Value Observing机制知识点介绍Key-Value Observing (简写为KVO):当指定的对象的属性被修改了,允许对象接受到通知的机制。每次指定的被观察对象的属性被修改的时候,KVO都会自动的去通知相应的观察者。KVO的优点:当 有属性改变,KVO会提供自动的消息通知。这样的架构有很多好处。首先,开发人员不需要自己去实现这样的方案:每次属转载 2014-02-08 15:32:31 · 676 阅读 · 0 评论 -
UIView
UIView实例创建方法:UIView重绘方法:1、 重新实现drawRect:完用户自定义的绘图工作 (注:当使用OpenGL ES时,drawRect:失效;另一个重绘函数drawRect:forViewPrintFormatter:不是很了解);2、 调用setNeedsDisplay或setNeedsDisplayInRect: 向系统发出重绘消息,当系统到达重绘周期调原创 2013-06-13 17:38:18 · 671 阅读 · 0 评论 -
Xcode调试运行崩溃com.apple.dt.dbg.DebuggerLLDB
无缘无故Xcode只要一运行代码,立刻崩溃,但只要Debugger选为None不选LLDB就没问题,实在想不通啊……奔泪啊……崩溃错误截图如下。经过一天的奋战终于知道原因了,立马记下来供遇到同样的朋友参考。尼玛,原来是我昨天手贱把python2.7升级到了python3.3就删除了python2.7,欲哭无泪啊……重装python2.7,一切回归正常……原创 2013-10-28 09:53:36 · 1241 阅读 · 0 评论 -
UIImageWriteToSavedPhotosAlbum() -3310
iOS:UIImageWriteToSavedPhotosAlbum() -3310Domain=ALAssetsLibraryErrorDomain Code=-3310 "数据不可用" UserInfo=0x16e1ac60 {NSLocalizedRecoverySuggestion=启动“照片”应用程序, NSUnderlyingError=0x16fc8aa0 "原创 2014-02-07 14:36:23 · 2629 阅读 · 0 评论 -
iOS view.frame的变化过程
iOS中view.frame 的变化过程:1、在layoutSubviews(UIView)或viewWillLayoutSubviews(UIViewController)之前frame就已经发生变化;2、如果设置了autoResizingMask,在旋转设备时,willRotateToInterfaceOrientation frame没有发生变化,didRotateFromI原创 2014-02-07 16:42:01 · 1998 阅读 · 0 评论 -
layoutSubviews & drawRect
layoutSubviews & drawRect触发条件- (void)layoutSubviews触发情况:必要条件:view必须处于视图树中1、当view的size发生变化时a、使用initWithFrame进行初始化时,rect的值不为CGRectZero;b、为view设置一个有变化的frame;c、view发生旋转,且size发生变化原创 2014-02-07 17:04:43 · 693 阅读 · 0 评论 -
NSRunloop
NSRunloop和线程的关系NSRunloop:1、iOS中消息调度机制的封装;2、不能被用户创建和显式的管理;3、每一个线程会自动创建一个对应的NSRunloop(一对一);4、新创建的线程需要自己手动启动NSRunloop(通过currentRunLoop获取);5、如果NSRunloop中没有任何source的话,该Runloop中的任何run方法都会立即返原创 2014-02-07 16:53:48 · 608 阅读 · 0 评论 -
iOS之线程间通信
iOS之线程间通信【iOS之线程间通信】 Cocoa为iOS线程间通信提供2种方式,1种是performSelector,另1种是Port。 先说第1种,performSelector,有以下几种: 第2种为NSMachPort方式。NSPort有3个子类,NSSocketPort、NSMessagePort、NSMachPort,但在iOS下只有NSMa转载 2014-02-21 10:23:28 · 1995 阅读 · 0 评论 -
ios icon和启动image尺寸介绍
Icon and Image SizesEvery app needs an app icon and a launch file or image. In addition, some apps need custom icons to represent app-specific content, functions, or modes in navigation bars, tool原创 2014-10-13 16:26:01 · 1001 阅读 · 0 评论