Object-C
文章平均质量分 83
lipeng08
字节跳动 分布式存储系统 开发工程师
展开
-
Effective Object-C 2.0 第一章(条目1和2)
1 让自己习惯于Object-C Object-C通过全新的语法结构使C具有面向对象的特性。Object-C语法使用很多的方括号和极长的方法名,这通常被认为是有点冗余。虽然这使得源代码可读性更强,但是对于C++或者java阵营的开发者来说掌握起来有点困难。 Object-C很容易掌握,但是有不少intricacies需要理解,同时也有很多特性通常被忽略了。同样地,也翻译 2014-03-28 16:35:15 · 1554 阅读 · 0 评论 -
object-c编程tips-kvokvc浅析
KVC键值编码一,概述KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。它在控制层和模型层之间的消息沟通中发挥很大作用。controller层的对象观察model层对象的属性,从而使得view对象可以通过controller层间接观察model的属性,解耦model和view。例如demo工程IOSKvoUse初始原创 2014-08-06 15:16:55 · 1479 阅读 · 0 评论 -
object-c编程tips-jastor自动解析
过去写iphone程序一直都没有用过自动解析,都是手动按着字典一层一层的解析,这样费时费力,还容易出错。后来公司来了新朋友带来了自动解析的jastor库,着实不错。简单介绍一下jastorjastor是一个基于oc运行时的库,它可以将字典对象转换成NSObject对象。它支持NSString, NSNumber,NSArray, NSDictionary以及它们的嵌套类型。例如现在需要将d原创 2014-08-06 14:55:45 · 2071 阅读 · 4 评论 -
ios开发指南-第1-3章
前言:学完了底层c,c++之后,现在开始重新回头进行上层的界面设计。既然做了就要做好,就如同过去c,c++做的一样。过去的一年的时间精看了深入浅出mfc,C++程序设计语言,effective-c++,GOF和大话设计模式,粗看了more effective c++, c++ premier,linux程序设计,harly guide linux, 自觉在c++方面的战果还算不错,现在重新捡起...原创 2014-01-26 20:06:21 · 1609 阅读 · 0 评论 -
UItableViewCell的复用机制,原理解答
背景知识今天在看iphone开发秘籍的时候,遇到这个问题,就仔细的深入了一下,通过测试,获取了一些自认为还不错的结论,希望对大家在cell复用方面遇到的一些问题会有所帮助。本篇文章只讲原理,对于如果对cell做界面,不深入讲述。鉴于我的表达能力有限,可能会有我自己清楚,但是却说不清楚的地方,如有问题,留言给我。问题介绍UITableView在界面的编程用的甚多,iphone开发也三月有...原创 2012-07-28 16:20:49 · 7363 阅读 · 4 评论 -
iphone copy 和mutablecopy
From: http://oasku.com/?q-104.html 首 先,从copy开始说,简而言之,copy的目的就是生成一个新的实例,然后把其成员都按原实例赋值。对于非指针型的成员,比如BOOL, int, float,这样的赋值可以直接进行。但是对于指针型的数据,比如Objc中用到的对象,就有Deep Copy和Shallow Copy的区别——这个和在C++中的基本上是一...转载 2012-07-13 17:09:23 · 2078 阅读 · 0 评论 -
iphone(object-c) 内存管理(3) 有效的内存管理 后半部分
现在搞iphone开发,一直不是很懂object-c的内存管理机制,看到apple的官方文档写的不错而又没有找到翻译的文章。于是自己在学习它的过程中就顺便把它翻译了,自己的英语不是太好,文字组织能力那就更菜了,读的蹩脚之处还望大家指出,我好在以后的翻译过程中好好改正。第一次翻译,欢迎拍砖,可不要把我拍死了呀!!!文章中带有LPSTUDY的字样表明是我个人的理解,可能会有不对的地方,敬请指...翻译 2012-07-02 13:23:51 · 31759 阅读 · 1 评论 -
iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
现在搞iphone开发,一直不是很懂object-c的内存管理机制,看到apple的官方文档写的不错而又没有找到翻译的文章。于是自己在学习它的过程中就顺便把它翻译了,自己的英语不是太好,文字组织能力那就更菜了,读的蹩脚之处还望大家指出,我好在以后的翻译过程中好好改正。第一次翻译,欢迎拍砖,可不要把我拍死了呀!!!文章中带有LPSTUDY的字样表明是我个人的理解,可能会有不对的地方,敬请指教。...翻译 2012-07-02 11:23:25 · 1869 阅读 · 0 评论 -
iphone(object-c) 内存管理(2) 内存管理策略
现在搞iphone开发,一直不是很懂object-c的内存管理机制,看到apple的官方文档写的不错而又没有找到翻译的文章。于是自己在学习它的过程中就顺便把它翻译了,自己的英语不是太好,文字组织能力那就更菜了,读的蹩脚之处还望大家指出,我好在以后的翻译过程中好好改正。第一次翻译,欢迎拍砖,可不要把我拍死了呀!!!文章中带有LPSTUDY的字样表明是我个人的理解,可能会有不对的地方,敬请指...翻译 2012-06-29 15:53:55 · 2568 阅读 · 0 评论 -
内存管理 逐渐汇总中
本文将被我用来逐渐汇总内存管理的方方面面,如果我通过阅读文档或者请教别人遇到有什么好的内存管理策略,我会逐步将其加入到本文档中。因此,刚开始的时候,本文档的内容可能看起来会很少,不完整,但是它会在逐渐完善中。文档的很多内容肯定不会是我的原创,毕竟我很多时候是看,听,抄,然后总结,在此向那些给我提供过重大帮助的文档作者或者个人致谢。 以下摘自cocoa基本原理指南对象的所有权策略。这个策...转载 2012-07-04 15:09:45 · 888 阅读 · 0 评论 -
object-c编程tips-KVO,KVC浅析
KVC键值编码一,概述KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。它在控制层和模型层之间的消息沟通中发挥很大作用。controller层的对象观察model层对象的属性,从而使得view对象可以通过controller层间接观察model的属性,解耦model和view。例如demo工程IOSKvoUse初始原创 2014-08-06 16:04:32 · 1132 阅读 · 0 评论 -
object-c编程tips-给类对象添加属性
此问题来源于网络封装的一个内容,由于保密的问题,我只叙述我业余的一些想法。基本思想:网络请求大家应该都会用一个基类的BaseNetWork, 然后由派生类继承于BaseNetWork,并实现一些特殊的方法。 一般标准的流程是传入block, 当网络请求完毕后,通过block回调回来。这里叙述的关键不是如何实现一个网络请求和回调block的相关内容,而是如何取消请求。 一般基类会实现原创 2014-08-04 15:35:39 · 1187 阅读 · 0 评论 -
object-c编程tips-推送框架
如何写一个对扩展开发对修改关闭的推送消息处理中心?前一段时间做的推送消息处理,总是要根据不同的消息类型,进入到不同的消息处理流程中。由于消息处理流程的总体框架大同小异,只是具体的很小的一块代码不同。 于是很容易想到使用模板方法模式基类写框架流程,派生类负责具体的实现。需要有三个类:LPPushDispatchCenter: 消息处理中心类LPPushDispatch :消息原创 2014-08-04 13:05:17 · 999 阅读 · 0 评论 -
Effective Object-C 2.0
关于Object-C的类和对象的分析先暂停两天,还有关于编译器如何将OC的代码转换成C或者C++代码的部分没有做,那些对于理解OC的类和对象,消息传递等等会有不少的用途。这两天在着手翻译 Effective Object-C 2.0, 网上已经有本书的中文版本,我只是看到这个名字就那么的喜欢它,可能是由于Effective C++的缘故吧, 我只在网上找到了epub格式的英文版,因此就放在pad上翻译 2014-03-28 15:22:41 · 2177 阅读 · 0 评论 -
Effective Object-C 2.0 第一章(条目3)
条目3:选用字面型语法而不是等价的方法 使用OC的过程中,有些类是你经常遇到的。他们都是Foundation框架的一部分。虽然技术上来说,你并不一定要用Foundation去写OC代码,但是实践中,你通常会用它。例如NSString,NSArray,NSDictionary。每一种类型代表的数据结构是不言自明的。OC以冗余语法而有名,这是真的。可是,自从OC1.0开始,已经很多翻译 2014-03-30 11:43:33 · 1536 阅读 · 0 评论 -
Effective Object-C 2.0 第一章(条目4)
translated by my gf.条目4:使用带类型的常量而不是预编译宏#define在编写代码时,你经常需要定义一个常量。例如:考虑一个使用动画自动呈现和消失的UI视图类。动画的持续时间是你将要指定的典型常量。你已经学习了Obective-C的全部和它的C语言基础,因此你将会这样定义常量:#define ANIMATION_DURATION 0.3 这是一个预编译指令翻译 2014-03-30 17:08:18 · 1602 阅读 · 0 评论 -
Effective Object-C 2.0 第一章(条目5)
条目5:使用枚举描述状态,选项,或者状态码OC是基于C的,因此支持C的所有特性。其中的一种是枚举类型。它被广泛适用于系统框架中,但是通常被程序员给忽略了。它对定义命名的常量非常有用,例如错误码,选项。由于C++11标准的扩展,最近的系统框架版本包含了一种定义这样的枚举类型。是的,OC从C++11标准中受益。枚举只不过是一种定义命名常量的方法而已。简单的枚举可能是用来定义程序运行的状态。例如翻译 2014-03-30 16:09:41 · 1598 阅读 · 0 评论 -
OC类和对象之一
OC类和对象l NSObject是什么?@interface NSObject NSObject> { Class isa OBJC_ISA_AVAILABILITY;}NSObject只有一个成员isa,虽然其使用的是Class isa,但如下面所述,Class本身就是一个指针类型,是一个指向objc_class结构体指针。l objc_class是什么?原创 2014-03-24 14:23:30 · 1888 阅读 · 0 评论 -
Object-c消息之运行时动态绑定
Object-c消息之运行时动态绑定1,简介在Objective-C中,message在执行阶段绑定,转换成对objc_msgSend方法的调用。objc_msgSend方法含两个必要参数:receiver、方法名(即:selector)。例如有一个Person类对象p且有一个实例方法eat,那么[p eat] 会转换成类似于 objc_msgSend(p, “eat”) 之类的调用。原创 2014-03-24 17:53:20 · 1096 阅读 · 0 评论 -
OC类和对象之四hash结构
OC类和对象之四hash结构1,简介hash是一种将关键字data的key值进行散列存储的技术,它可以根据关键字的key值得到关键字的实际存储位置,它查找的效率为O(1)级别,现实中根据冲突的情况可能会是1点多的情况。2,举例 例如现在有100个关键字结构体,它们的key的取值范围为1-10000,如果内存够用的话,可以直接分配10000个空间,根据关键字的key值直原创 2014-03-25 18:58:57 · 3046 阅读 · 0 评论 -
OC类和对象之三
OC类和对象之三1,objc_getClass1.1,简述 根据传入的class的name获取对应的Class结构,主要使用了look_up_class方法,它从一个hash结构中根据名字获取对应的Class结构,如果没有找到则返回NULL。使用的主要方法有: look_up_class, NXHashGet1.2,库代码id objc_getClass(co原创 2014-03-25 18:45:40 · 1421 阅读 · 0 评论 -
object-c编程tips-timer
object-c定时器object-c定时器会自动retain当前的使用者,如果不注意调用invalidate,则很容易引起循环引用导致内存泄露。下面的思路提供了一套还算可行的解决方案。举例:经常在viewController中有可能有自动刷新界面的需求。 获取数据失败后,每隔10秒自动刷新重新获取数据,这个时候使用NSTimer是一个很方便的事情。一般情况下直接创建一个NST原创 2014-08-04 15:04:14 · 1350 阅读 · 0 评论 -
object-c编程tips-global_queue的一个小测试
前一段进行网络基础库构建的时候,网络发送的加密组包以及网络返回的回调解包处理都是在单独的主线程处理。 跟踪程序的时间发现这部分耗时还挺大,于是决定使用多线程处理,至少不应该使用主线程。一直以来网上都在强调多线程的dispatch的妙用,自己仅仅是会用而没有实际测试过它的性能。今天将上次测试的结果发出来,说实话dispatch的多线程效率确实很高,跟cpu的核心数有很多关系。测试思想:使原创 2014-08-05 15:38:03 · 1080 阅读 · 0 评论 -
iphone(object-c) 内存管理(1)
现在搞iphone开发,一直不是很懂object-c的内存管理机制,看到apple的官方文档写的不错而又没有找到翻译的文章。于是自己在学习它的过程中就顺便把它翻译了,自己的英语不是太好,文字组织能力那就更菜了,读的蹩脚之处还望大家指出,我好在以后的翻译过程中好好改正。第一次翻译,欢迎拍砖,可不要把我拍死了呀!!!文章中带有LPSTUDY的字样表明是我个人的理解,可能会有不对的地方,敬请指教。...翻译 2012-06-29 15:48:38 · 3079 阅读 · 0 评论