原创 ARC中的@property

轉自 http://blog.csdn.net/q199109106q/article/details/8565561 本章介紹引入ARC後@property的使用,跟ARC之前的還是很不一樣的 一、.h和.m文件的變化說明

原创 Objective-C屬性修飾符strong和copy的區別

問題描述 在定義一個類的property時候,爲property選擇strong還是copy特別注意和研究明白的,如果property是NSString或者NSArray及其子類的時候,最好選擇使用copy屬性修飾。爲什麼呢?這是爲了

原创 NSPredicate(過濾器)

第十七章  NSPredicate 編寫軟件時,經常需要獲取一個對象集合,然後刪除不滿足條件的對象,保留符合條件的對象,從而提供一些有意義的對象。 Cocoa提供了一個名爲NSPredicate的類,他用於指定過濾器的條件。可以創建NS

原创 iOS中的sleep()函數阻塞的是哪個線程

問題:在做多線程開發的時候,測試case裏面做一個延遲的操作,想到了sleep()函數,但是又不能確定它到底阻塞的是主線程還是當前線程。 分析:於是自己測試了一下,用dispatch_queue_create創建了一個串行隊列,然後在這

原创 詳解鍵值觀察(KVO)及其實現機理

文章轉自 http://www.cppblog.com/kesalin/archive/2012/11/17/kvo.html  [深入淺出Cocoa]詳解鍵值觀察(KVO)及其實現機理 羅朝輝 (http://www.cppbl

原创 Objective-c中的posing

談到這個posing,真是有些慚愧,還沒了解這個是怎麼回事,就已經被蘋果給抹去了。 儘管如此,還是整理了一些文章,以供參考。 =======================================================

原创 ObjC的initialize和init

Objective-C很有趣的一個地方是,它非常非常像C。實際上,它就是C語言加上一些其他擴展和一個運行時間(runtime)。 有了這個在每個Objective-C程序中都會起作用的附加運行時間,給了它一些動態的特性。C和C++沒有

原创 self在類方法和實例方法中的解讀

類方法裏面的self,是Class;實例方法裏面的self,是對象的首地址。 儘管在同一個類裏面的使用self,但是self卻有着不同的解讀。在類方法裏面的self,可以翻譯成Class self;在實例方法裏面的self,應該被翻譯成

原创 Xcode工程中ARC的開啓和禁止

轉自 http://blog.csdn.net/q199109106q/article/details/8565403 要想將非ARC的代碼轉換爲ARC的代碼,大概有2種方式: 1.使用Xcode的自動轉換工具 2.手動設置某

原创 Objective-C中[self self]的含義

問題:在分析MKNetworkKit源碼的時候,遇到下面這段代碼: +(void) initialize { if(!_sharedNetworkQueue) { static dispatch_once_t once

原创 在Cocoa Touch框架中使用迭代器模式

蘋果公司用自己的命名規則“枚舉器/枚舉”改寫了迭代器模式,用於相關基礎類的各種方法。從現在開始,我將使用“枚舉”一詞,它就是蘋果版本的“迭代”。在這個模式中它們是一個意思。基礎框架中的NSEnumerator類實現了迭代器模式。抽象NS

原创 ios 比較__unsafe_unretain、__strong、__weak、__autoreleasing

在前面分析了nomantic、copy、retain等屬性之後,在教新的XCode版本中,我們又經常會看到__unsafe_unretain、__strong、__weak、__autoreleasing這四種屬性,那麼他們有什麼用呢?

原创 xcode-select – 更改默認Xcode

如果你的電腦中有幾個xcode版本,比如一個xcode5.1.1,一個xcode6-beta, 當你打開工程的時候,通常會有一個默認配置,或者使用terminal命令行操作,需要選擇使用xcode的不同版本,怎麼更改這個配置呢? 請看