@synchronized 的作用是创建一个互斥锁,保证此时没有其它线程对self对象进行修改。这个是objective-c的一个锁定令牌,防止self对象在同一时间内被其它线程访问,起到线程的保护作用。
一般在公用变量的时候使用,如单例模式或者操作类的static变量中使用。
@synchronized(object){},每一个object对应一把锁,要执行{}中的代码,首先必须要拿到o...
分类:
编程语言 时间:
2014-05-10 09:24:21
阅读次数:
341
容易发现Cocoa Foundation
中提供了一些可变参数的方法,如:NSLog(NSString *format, ...)
在实际的编程实践中,我们也需要自己实现可变参数的方法。在Objc中,是依靠原生C库来的实现的。请看示例: 1 - (void) doLog:(NSString
*)fo...
分类:
其他好文 时间:
2014-05-07 18:50:16
阅读次数:
312
条款01:主要是告诉大家要将C++看作由C,C with classes、templates
C++ 、STL四个次语言组成的联邦,并极其简略的介绍了每种次语言的特点。
分类:
编程语言 时间:
2014-05-07 13:36:32
阅读次数:
265
In this problem you will perform median filtering to enhance the quality of a noise corrupted
image. Recall from the video lecture that median filtering is effective for removing "salt-and-pepper" n...
分类:
其他好文 时间:
2014-05-07 07:20:09
阅读次数:
326
最近正在进行《Effective C++》的第二遍阅读,书里面多个条款涉及到了shared_ptr智能指针,介绍的太分散,学习起来麻烦,写篇blog整理一下。
LinJM @HQU
2014/05/05
shared_ptr是一个智能指针。在C++ 11颁布之前,它包含在TR1(Technical Report 1)当中,现在囊括在C++11的标准库中。
智能指针
智能指...
分类:
其他好文 时间:
2014-05-07 05:50:43
阅读次数:
437
一直想学习IOS手机开发,今天开始涉入该领域。好吧,先从基础开始——搭建开发环境。
系统: Ubuntu 12.04 LTS 64 位
环境搭建步骤:
1、安装编译器
sudo apt-get install gnustep*
2、配置环境变量
# set GNUstep
GNUSTEP_ROOT=/usr/share/GNUstep/Makefiles
export GNUSTE...
分类:
其他好文 时间:
2014-05-07 03:41:47
阅读次数:
356
我看的书是《Effective C#中文版——改善C#程序的50种方法》,Bill
Wagner著,李建忠译。书比较老了,04年写的,主要针对C#1.0,但我相信其中的观点现在仍有价值。(平心而论,和Effective
C++有差距,毕竟该书成书时对C#的研究不过几年。) 下面是对这本书条款内容的....
分类:
其他好文 时间:
2014-05-07 00:45:41
阅读次数:
500
如果我们在 Objective C 中向一个对象发送它无法处理的消息,会出现什么情况呢?我们知道发送消息是通过
objc_send(id, SEL, ...) 来实现的,它会首先在对象的类对象的 cache,method list 以及父类对象的 cache, method list 中依次查找 SEL 对应的 IMP;这个是需要对类对象的结构熟悉,不清楚的可以参考我的下一篇文章《object...
分类:
其他好文 时间:
2014-05-06 21:24:33
阅读次数:
450
忙碌了一段时间,终于完成了手上的这个ipad上的app ,app是用phonegap+
jquery mobile 开发的,不是用原生的objective
c开发的。因为app有许多chart的渲染,如果使用javascript难度会小很多,不过phonegap的缺点也是显而易见---性能不好,尤其...
分类:
移动开发 时间:
2014-05-06 12:49:50
阅读次数:
442