Objective-C
Objective-C
winfred_zen
机械男-IT男
展开
-
instancancetype
instancetype 的解释可以参考这两处:原创 2014-09-16 16:51:27 · 603 阅读 · 0 评论 -
Runtime学习笔记
Runtime学习笔记RunTime简称运行时,就是系统在运行的时候的一些机制,其中最主要的是消息机制现有一个类Person,其有一个eat方法,传统的调用方式是: Person *p = [[Person alloc] init]; [p eat]; [p performSelector:@selector(eat)];但也可以使用objc_msgSend实现: Per原创 2017-06-14 21:27:51 · 362 阅读 · 0 评论 -
NSProxy
NSProxy在看一些开源项目的时候,发现有使用NSProxy这个类什么是NSProxy:NSProxy是一个抽象的基类,是根类,与NSObject类似NSProxy和NSObject都实现了<NSObject>协议提供了消息转发的通用接口如何使用NSProxy来转发消息? 1.需要继承NSProxy 2.重写如下的2个方法:methodSignatureForSelector:fo转载 2017-08-11 12:03:26 · 1518 阅读 · 0 评论 -
RunLoop
RunLoop内容来自RunloopRunloop 基本概念Runloop 是什么?Runloop 还是比较顾名思义的一个东西,说白了就是一种循环,只不过它这种循环比较高级。一般的 while 循环会导致 CPU 进入忙等待状态,而 Runloop 则是一种“闲”等待,这部分可以类比 Linux 下的 epoll。当没有事件时,Runloop 会进入休眠状态,有事件发生时, Runloop 会去找对转载 2017-06-21 14:35:10 · 515 阅读 · 0 评论 -
OC中类的load和initialize方法
看到寒哥教你学iOS - 经验漫谈中有使用load方法来加载第三方类库的情况。在《Effective Objective-C 2.0》中有一节也是讲load与initialize方法的。发现自己并没有理解,就总结下。 参考文档:NSObject的load和initialize方法iOS初探+load和+initializeObjective-C类初始化:load与initializeloa原创 2015-09-07 17:00:59 · 3463 阅读 · 0 评论 -
OC相关
1.strong vs retain 和 weak vs assign之间的区别 Objective-C ARC: strong vs retain and weak vs assignstrong(iOS4 = retain)keep this in the heap until I don’t point to it anymoreweakkeep this as long as som原创 2015-04-16 14:12:41 · 488 阅读 · 0 评论 -
NSTimer与NSRunLoop
NSTimer使用方法参考How do I use NSTimer?,使用NSTimer的方式如下:scheduled timer & 使用 selector,这是最常用的方式NSTimer *t = [NSTimer scheduledTimerWithTimeInterval: 2.0 target: self原创 2015-09-08 09:16:41 · 992 阅读 · 0 评论 -
枚举enum
例如UITableViewCellStyle原创 2014-09-19 10:25:30 · 653 阅读 · 0 评论 -
Constants in Objective C
最简单的方法:原创 2014-09-18 14:54:24 · 644 阅读 · 0 评论 -
OC与runtime
内容来自《Effective Objective-C 2.0》关联对象(Associated Object)有时候需要在对象中存放相关信息。这时我们通常可以从对象所属的类中继承一个子类,然后改用这个子类对象。然而并不是所有情况下都能这么做,有时候类的实例可能是由某种机制创建的,开发者无法令这种机制创建出自己所写的子类实例。Objective-C中有一项强大的特性可以解决此问题,这就是“关联对象(As原创 2015-09-09 11:20:23 · 687 阅读 · 0 评论 -
[转]知乎上的一个怎么面试iOS工程师的问题
转载自:知乎上的一个怎么面试iOS工程师的问题 知乎链接:如何面试 iOS 工程师?1.什么是arc?(arc是为了解决什么问题诞生的?)首先解释ARC: automatic reference counting自动引用计数。 ARC几个要点: 在对象被创建时 retain count +1,在对象被release时 retain count -1.当retain count 为0 时,销转载 2015-04-16 15:05:14 · 1177 阅读 · 0 评论 -
objc_setAssociatedObject
需要使用Object associations的地方1.给category增加变量。某些对象不能被修改,而又必须增加一些实例变量,例如给UIImage加上一个title的属性:// UIImage-Title.h:@interface UIImage(Title)@property(nonatomic, copy) NSString *title;@end // UIImage-原创 2015-01-15 16:50:24 · 2010 阅读 · 0 评论 -
Objective-C中的Literals
y本文译自Guided tour through Objective-C Literals。大家要是有什么问题,可以直接在twitter上联系原作者,当然也可以在最后的评论中回复我。苹果在2012年就已经把Literals加入到LLVM中,利用Literals,不仅可以方便快捷的创建某些特定数据类型,还可以简化代码量,加强代码的可读性。下面先来看看目录:NSNumb转载 2014-05-23 16:01:53 · 592 阅读 · 0 评论 -
NSArray中的最大值和最小值
参考自:http://stackoverflow.com/questions/15931112/finding-the-smallest-and-biggest-value-in-nsarray-of-nsnumbers1.shu'zu原创 2014-09-22 15:37:01 · 5644 阅读 · 0 评论 -
Objective-C中的对象复制
基本数据类型之间变量的复制是值传递,而引用转载 2014-11-09 20:47:18 · 1524 阅读 · 0 评论 -
copy 与 mutablecopy
copy方法使用NSCopying协议的copyWithZone:方法,来创建一个对象:原创 2014-10-30 19:02:43 · 557 阅读 · 0 评论 -
Objective-C runtime
作为一门动态编程语言,Objective-C 会尽可能的将编译和链接时要做的事情推迟到运行时。只要有可能,Objective-C 总是使用动态 的方式来解决问题。这意味着 Objective-C 语言不仅需要一个编译环境,同时也需要一个运行时系统来执行编译好的代码。运行时系统(runtime)扮演的角色类似于 Objective-C 语言的操作系统,Objective-C 基于该系统来工作。因此,转载 2014-10-19 17:51:35 · 645 阅读 · 0 评论 -
Adopting Modern Objective-C
转载自:http://codingobjc.com/blog/2014/03/16/yi-adopting-modern-objective-c/苹果2014年03月10日发布了一个新文档,介绍了Objective-C的几个新技巧,包括:用instancetype代替id用@property代替实例变量用NS_ENUM或NS_OPTIONS代替enum采用ARC文档名字叫《转载 2015-01-07 17:40:51 · 839 阅读 · 0 评论 -
Objective-C中的Block
转载自:http://www.devtalking.com/articles/you-should-know-block/1.相关概念在这篇笔记开始之前,我们需要对以下概念有所了解。1.1 操作系统中的栈和堆注:这里所说的堆和栈与数据结构中的堆和栈不是一回事。我们先来看看一个由C/C++/OBJC编译的程序占用内存分布的结构: 栈区(stack)转载 2015-01-12 09:55:09 · 627 阅读 · 0 评论 -
修改属性声明为readonly的属性值
修改属性声明为readonly的属性值在NSOperation中,executing、finished等属性都被声明为readonly,但在继承NSOperation的子类中,可能需要修改这些属性的值,该如何处理呢?可在子类中添加如下的代码:@synthesize executing = _executing;@synthesize finished = _finished;...转载 2018-07-01 13:37:15 · 5134 阅读 · 0 评论