原创 我的友情鏈接

51CTO博客開發塵埃安然

原创 關於@synchronized(self)的用法

   @synchronized 的作用是創建一個互斥鎖,保證此時沒有其它線程對self對象進行修改。這個是objective-c的一個鎖定令牌,防止self對象在同一時間內被其它線程訪問,起到線程的保護作用。 一般在公用變量的時候使用,如

原创 OC裏的繼承和重寫

   1.@private私有成員是不能被繼承,也不能被外部函數訪問。 @public 公有成員能被繼承,也能被外部函數訪問。 @protected 保護成員能夠被繼承,不能夠被外部函數訪問。 2. 繼承後,父類公有的成員,子類繼承後還是公

原创 OC的內存管理

1.內存泄露 一般我們常說的內存泄漏是指堆內存的泄漏。堆內存是指程序從堆中分配的,大小任意的(內存塊的大小可以在程序運行期決定),使用完後必須顯式釋放的內存。應用程序一般使用malloc,calloc,realloc等函數(C++中使用ne

原创 OC的內存管理

1.內存泄露 一般我們常說的內存泄漏是指堆內存的泄漏。堆內存是指程序從堆中分配的,大小任意的(內存塊的大小可以在程序運行期決定),使用完後必須顯式釋放的內存。應用程序一般使用malloc,calloc,realloc等函數(C++中使用ne

原创 <設計模式>之<單一職責原則>

   1. 單一職責原則(SRP),就一個類而言,應該僅有一個引起它變化的原因。    2.如果一個雷承擔的職責過多,就等於把這些職責耦合在一起,一個職責的變化可能會削弱或者抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發

原创 關於NSUserDefaults誤解的一些糾正

NSUserDefaults 是app 數據持久化的其中一種,它存儲於沙盒目錄中的Library/Preferences/ 文件夾下,一般文件名爲,com. YOUR_BundleIdentifier.plist 使用NSUserDefau

原创 <OC的文件操作>

NSFileManager 文件管理器完成文件的創建、移動、拷貝等管理操作 1.查詢文件和目錄  OC中查詢路徑下的目錄主要分爲淺度遍歷和深度遍歷。  淺度遍歷  NSFileManager * manager = [NSFileManag

原创 iOS7 適配遇到的一些問題

1. textField placeholde 的透明度 ios7 ios 7 的顏色很奇妙的alpha值不是1,導致某些頁面的如果背景色爲深色系的時候,導致看不清楚,使用KVC的方法,改變下RGBA就能解決問題 [textField

原创 CGAffineTransform 獲取 旋轉的弧度 和 角度 的方法

        CGAffineTransform _trans = sticker.transform;         CGFloat rotate = acosf(_trans.a);       // 旋轉180度後,需要處理弧度的

原创 <NSString>OC字符串

 1.OC字符串 C語言中,字符和字符串都爲常量。 OC中仍然可以使用C的字符串和字符,但其有專有的字符類,可以聲明專有的字符串對象。OC的字符串,結尾不考慮尾0,查字符串位置時,起始爲0,這和數組有一些類似,這裏一定要記清楚,因爲一些

原创 關於Unbalanced calls to begin/end appearance transitions for <>警告

由於上個uivewcontroller的動畫沒做完,導致下一個的頁面無法順利壓棧,這個只需要上一個頁面返回的時候不要做動畫就可以了。這個問題在使用框架MMDrawerController時設置中間顯示內容的時候遇到[self.mm_draw

原创 NSArray與NSMutableArray 數組與可變數組

1.NSArray 是一個父類,NSMUtableArray是其子類,他們構成了OC的數組。 2.NSArray的創建 NSArray * array = [[NSArray alloc]initWithObjects:@"one",@

原创 OC裏的繼承和重寫

   1.@private私有成員是不能被繼承,也不能被外部函數訪問。 @public 公有成員能被繼承,也能被外部函數訪問。 @protected 保護成員能夠被繼承,不能夠被外部函數訪問。 2. 繼承後,父類公有的成員,子類繼承後還是公

原创 <NSMutableString>可變字符串

 1.NSMutanleString是NString的子類,作爲可變長的字符串,可以完成許多NSString不能完成的功能。比如字符串中字符的增、刪、改和查。 NSMutableString * str = @”Hello world”;