原创 performSelectorOnMainThread

在多線程操作中,有一個著名的錯誤,叫做“Tried to obtain the web lock from a thread other than the main thread or the web thread. This may

原创 static對局部變量的作用

static修飾局部變量: 1,延長局部變量的生命週期到程序技術時,局部變量纔會被銷燬 2,並沒有改變局部變量的作用域 static修飾局部變量的使用場合: 1,如果某個函數的調用頻率特別高 2,這個函數內部的某個值是固定不變的

原创 自定義iOS上雙擊Home鍵截圖切換

<pre name="code" class="objc"><p>如果雙擊Home,會來到iOS App的switcher頁面,在這兒列出了當前系統掛起的App, 上面有每個App的切屏,相信大家都熟悉這個東東了。它其實是每個App在掛起

原创 iOS截屏代碼

1.普通界面 /** *截圖功能 */-(void)screenShot{    UIGraphicsBeginImageContextWithOptions(CGSizeMake(640, 960), YES, 0);    //設置

原创 iOS 開發之多線程之GCD

1.GCD(Grand Centrol Dispath) 並行:宏觀以及微觀都是兩個人再拿着兩把鐵鍬在挖坑,一小時挖兩個大坑 併發:宏觀上是感覺他們都在挖坑,微觀是他們是在使用一把鐵鍬挖坑,一小時後他們挖了兩個小坑。 總結:就單個cpu來

原创 iOS開發new與alloc/init的區別

1.在實際開發中很少會用到new,一般創建對象咱們看到的全是[[className alloc] init] 但是並不意味着你不會接觸到new,在一些代碼中還是會看到[className new], 還有去面試的時候,也很可能被問到這個問

原创 編譯參數-ObjC的說明

一些第三方庫裏對系統庫的類加了 category , 這時,就需要使用編譯參數: -ObjC ,這樣第三方庫中對系統類作的擴展方法才能在工程中使用。 但是使用 -Objc 後,會產生兩個問題: 1 、 undefined

原创 關於UIView的autoresizingMask屬性的研究

在 UIView 中有一個autoresizingMask的屬性,它對應的是一個枚舉的值(如下),屬性的意思就是自動調整子控件與父控件中間的位置,寬高。 1 2 3 4 5 6 7 8 9 enum {    UIVi

原创 search Paths $(SRCROOT)和$(PROJECT_DIR)區別

$(SRCROOT)代表的時項目根目錄下 $(PROJECT_DIR)代表的是整個項目 PS:往項目添加文件時,例如.a等,要先showinfinder ,複製到項目中,然後再拖到xcode項目中

原创 debug環境下打印

#ifdef DEBUG #    define NSLog(...) NSLog(__VA_ARGS__) #else #    define NSLog(...) {}#endif