原创 DEBUG下輸出Log

在pch文件中代碼: #ifdef  DEBUG #define ICLog(fmt, ...) NSLog(fmt, ##__VA_ARGS__) #else #define ICLog(...) #endif

原创 歸檔與解歸檔

歸檔就是將數據整理到外部文件(XML,plist,text等) 在oc中支持歸檔的數據類型包括NSData,NSNumber,NSString,NSArray,NSDictionary 代碼: + (NSString *)getDo

原创 深複製與淺複製的理解之續集

當我想給Array實現深複製,但又不想重寫這個類的時候,該怎麼辦, 可以利用NSData進行歸檔,利用NSData的緩衝內存區,爲NSArray實現深複製, 代碼:  NSMutableArray *arry1 = [NSMutabl

原创 歸檔自定義對象用到的編碼解碼

上文歸檔中沒有提到的對自定義的對象歸檔,當我們對自定義的對象進行歸檔時會報錯,因爲程序對自定義的對象歸檔不知道該怎麼編碼解碼,所以我們可以通過實現NSCoding協議的相關方法來告訴程序如何編碼解碼我們自定義類的對象, 代碼: 自定義類遵

原创 UITextField關閉粘貼複製功能

創建UITextField的子類,並重寫以下方法 - (BOOL)canPerformAction:(SEL)action withSender:(id)sender {     UIMenuController *menuCo

原创 FMDB的簡單封裝

@interface Manager : NSObject @property (nonatomic, strong) FMDatabaseQueue *dataQueue; +(Manager*)sharedManag

原创 sql語句-日期時間函數

date(日期時間字符串,修正符,修正符.....) time(日期時間字符串,修正符,修正符.....) datetime (日期時間字符串,修正符,修正符.....) julianday (日期時間字符串,修正符,修正符.....)

原创 編碼解碼-NSCoding協議

在oc中,我們可以對NSString,NSArray,NSDictionary,NSDate,NSNumber,對象進行編碼解碼操作,但是當我門要對自定義的類的對象進行編碼解碼時該怎麼做呢,這時候就要用到NSCoding協議了, NS

原创 NSLog的重定向

代碼 - (void)redirectNSLogToDocumentFolder {     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirec

原创 UUID唯一標識符

一般在項目中,我們要生成一個不重複的唯一的表示符作爲文件或者路徑名稱的時候,可以使用CFUUIDRef 和CFStringRef來生成一個唯一的

原创 深複製與淺複製的理解

-,淺複製,當我們用copy方法拷貝不可變對象,或者mutableCpoy拷貝可變對象時,爲新對象分配了內存空間,對象默認爲淺複製,只是複製了指針地址,所有兩者還是指向同一個對象,當一個對象值改變時,另一個對象的值會跟着改變。 二,深複製

原创 Xcode報錯The Xcode build system has crashed. Please close and reopen your workspace

The Xcode build system has crashed. Please close and reopen your workspace   file-project settings-Per-User project set

原创 英語-一般現在時

1,事實真理,經常習慣發生(頻率) 2,S+V(主語+動詞),主語是三單需要給東西變形 3,He likes apple. Does he like apple? He doesn't like apple.(有悟空(do does di

原创 順序表(線性表的順序存儲結構)

邏輯結構上呈線性分佈的數據元素在實際的物理存儲結構中也同樣相互之間緊挨着,這種存儲結構稱爲線性表的順序存儲結構。 也就是說,邏輯上具有線性關係的數據按照前後的次序全部存儲在一整塊連續的內存空間中,之間不存在空隙,這樣的存儲結構稱爲順序存儲

原创 iOS block中使用 weakSelf , strongSelf

1,當會產生循環引用的時候使用 weakSelf , strongSelf 2,當block本省不被self所持有,而被別的對象持有,且不會產生循環引用的時候,就不需要使用 weakSelf