
iOS & Objc
wangqs1988
这个作者很懒,什么都没留下…
展开
-
谈Objective-C中的property
property大概是objc中唯一的元编程机制,用来快速地生成类的数据成员的get和set方法。本文谈谈我对property的一些使用心得。1)retain,copy和assign:retain的作用在于生成set方法时该数据成员(一定是objc对象)的引用计数+1,通常用于除NSString类型以外的objc对象。如- (void)setMember:(Member *)m原创 2011-11-08 01:08:12 · 84 阅读 · 0 评论 -
在iOS中挂起主线程
通常而言,ios中涉及IO的操作是多线程的,而不会在主线程中完成,这是为了避免耗时过长IO操作卡住主线程。但某些时候,我们希望让主线程等待IO操作完成——例如主线程创建了一个文件夹后,等待完成,再往文件夹中创建文件。 NSObject类有一个方法performSelectorOnMainThread:withObject:waitUntilDone可以让主线程挂起,但selector原创 2012-05-08 20:44:26 · 800 阅读 · 0 评论 -
【译】Objective-C的特性(The Disposition of Objective-C)
原文地址:http://amattn.com/2011/10/15/the_disposition_of_objective-c.html 笔者经过十年的Objc编程,在此谈一些对Objc的评论。冗长(Verbose) 这是最显然的Objc特性。Objc编程中总会用到极为冗余的语法,你只能对此习以为常。有经验的Objc程序员相当倚赖于IDE等多种工具来辅助编翻译 2012-03-05 18:25:46 · 377 阅读 · 0 评论 -
在iOS开发中告别未定义selector
objc和C++同为由C语言衍生出的OOP语言,但他们实现OOP的方式并不相同:在C++中,对象与方法在编译器绑定;而在objc中,称“方法”一词为“消息”,在程序运行时向对象发送消息,即运行期绑定。 两种方式各有优劣,C++注重性能,objc注重灵活。 然而运行期绑定给开发带来问题——编程时拼写错了方法名,编译器并不报错。笔者曾debug一小时,最后发现是方法原创 2012-02-22 13:58:01 · 354 阅读 · 0 评论 -
也谈引用计数
引用计数作为一种重要的GC(Garbage Collection)算法早已有之,不过也许在iOS流行后,作为Objc的重要元素,它才广为人知。当年学Objc时,碰到的最大难点也就是引用计数。manager把Objc入门教材给我时,嘱我须细看内存管理一章,深然其说。从一片茫然到知其用法,直到向安居客一位大牛请教了几次后,才发现人家是理解引用计数的思想的,而我之前只是知道它的用法。原创 2011-12-14 12:26:35 · 355 阅读 · 0 评论 -
再谈UIView
接前文《谈Cocoa中的UIView》,本文继续谈UIView。 通常的理解,在一个MVC架构中,View是用来显示内容的,而有关用户交互的逻辑事件则放到Controller里。 ——这是个误解。考虑UIButton的例子,当用户按下和放开一个Button时,Button都会有相应的3D动画效果,显示其被按下和放开。这个动作显然是UIButton自带的,而不需要原创 2011-12-20 20:23:55 · 438 阅读 · 1 评论 -
再谈UIView
接前文《谈Cocoa中的UIView》,本文继续谈UIView。 通常的理解,在一个MVC架构中,View是用来显示内容的,而有关用户交互的逻辑事件则放到Controller里。 ——这是个误解。考虑UIButton的例子,原创 2011-12-20 19:41:05 · 106 阅读 · 0 评论 -
谈category的几点
Category(类别)是当年学Objc时所接触的特性,本人孤陋寡闻,不知道还有哪种高级语言有类似的特性,但这确实是很有用的特性。本文意图从面向对象的角度讨论Category,而暂撇开Objc的消息机制不论,故“消息”一词俱以面向对象术语“方法”代之。1)使用 对于一个较为通用的类A,若想往A上添一些方法,最为直接的方法是直接修改A。若新增加的方法仅在某些领域有用,这样做会让原创 2011-12-19 02:41:02 · 396 阅读 · 0 评论 -
谈Cocoa中的UIView
iOS应用的开发通常采用MVC(Model-View-Controller)架构,其中的View,在Cocoa框架中通常为UIView及其子类。 在一个iOS应用中,View通常是吃内存大户,因此有效地管理View的内存就显得格外重要。在UIViewController中,一个重要的属性为view,这个view是该Controller中所有View的superview,它的生存周原创 2011-12-02 20:21:18 · 779 阅读 · 1 评论 -
谈Objective-C中的property
property大概是objc中唯一的元编程机制,用来快速地生成类的数据成员的get和set方法。本文谈谈我对property的一些使用心得。1)retain,copy和assign:retain的作用在于生成set方法时该数据成员(一定是objc对象)的引用计数+1,通常用于除NSString类型以外的objc对象。如- (void)setMember:(Member *)mem原创 2011-11-08 01:11:06 · 454 阅读 · 0 评论 -
长干行
在ios中调用lua脚本,本以为容易;孰料好事多磨——lua解释器在debug输出中抗议不断,拒不就范。后历经坎坷,笔者才让objc与lua在ios中成功牵线,喜结良缘。所用的方法较为悲催,但可行。独上高楼,望尽天涯路。 最初的想法是,把lua文件放到resource文件夹里,作为资源供objc调用。相关代码如下:p_lua_stack_ = luaL_n原创 2012-05-09 18:48:25 · 2022 阅读 · 0 评论