原创 strong、copy,深拷貝、淺拷貝

1.可變用strong的原因 2.不可變用copy的原因 3.深、淺拷貝 4.進一步的探索 文中所引用的對象如下解釋,顧名思義,簡單易懂 master.muStrStrong 指的用strong修飾的可變字符串 master

原创 自定義UIView踩過的坑

1.要重寫UIView的initWithFrame:方法而不是init方法 當初始化時重寫了init方法,而調用了initWithFrame初始化UIView就是無用的。 當初始化時重寫了initWithFrame方法,無論調用init

原创 @try @catch @finally

@try { ... 邏輯處理 ...執行的代碼,其中可能有異常。一旦發現異常,則立即跳到catch執行。否則不會執行catch裏面的內容 } @catch { ... 異常捕捉 ...除非try裏面執行代碼發生了異常,否則

原创 UIView兼容陰影和圓角

由於設置陰影需要masksToBounds設置爲NO,而設置圓角需要masksToBounds爲YES,因此相互矛盾,不能用一般法解決。 設原來要顯示的view爲exhibitView 1.需要將當前要展示的UIView加在一個新的UIV

原创 iOS 懶加載

所謂懶加載,就是用的時候纔會加載,在某些情況下可以節省資源。 - (UILabel *)nameLabel{ if (!_nameLabel) { _nameLabel = [[UILabel alloc]init

原创 iOS系統庫頭文件中的宏

NS_UNAVAILABLE 與 NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE 指定的方法表示禁止使用此方法來初始化,否則報錯 NS_DESIGNATED_INITIALIZER 無論調用哪種初始化

原创 fatal: loose object...is corrupt解決方法

錯誤描述: error: object file .git/objects/9a/83e9c5b3d697d12a2e315e1777ceaf27ea1bab is empty fatal: loose object 9a83e

原创 AppDelegate中各方法的執行順序

流程圖 流程 1.程序入口 進入main函數,設置AppDelegate爲代理 int main(int argc, char * argv[]) { @autoreleasepool {

原创 #ifdef、#ifndef、#if

1、#ifdef(如果被定義) 先看#ifdef的用法: #define KEY1_PA0 #ifdef KEY1_PA0 -------------第一段----------------- #define

原创 分類,類別,類擴展

首先,介紹一個簡單的概念,分類=類別=Category。 分類(Category):概念: 分類(Category)是OC中的特有語法,它是表示一個指向分類的結構體的指針。可以給某一個類擴充一些方法(不修改原來類的代碼),原則上它只能增加

原创 內存管理的思考方式,ARC中weak、strong的區別,循環引用

1.內存管理的思考方式 第一個例子 “自己生成並持有對象” id obj = [[NSObject alloc]init]; //(自己生成並持有對象) NSObject類生成的對象A(假如叫做A)被obj持有 [obj release]

原创 Xcode模擬器錄屏

1.進入終端,cd到要放置錄屏文件的位置 例如: cd Movies/ 2.輸入命令 xcrun simctl io booted recordVideo filename.mov 提示:停止錄屏:control + c 最後進入到

原创 UIViewController生命週期

1.initWithNibName:bundle: 初始化UIViewController,執行關鍵數據初始化操作,非StoryBoard創建UIViewController都會調用這個方法。 * 注意: 不要在這裏做View相關操作

原创 Runtime初探

簡介 runtime可以用來做什麼 runtime相關頭文件和函數 一些 Runtime 的術語的數據結構 id Class IMP Cache Property 消息 方法中的隱藏參數 動態方法解析 消息轉發 重定向 轉發

原创 #pragma mark 、#warning

1.#pragma mark 當在項目中加入這樣的語句時 用#pragma mark -和註釋不不同的是可以將整個文件的函數以類似分組的形式展現。當我們點擊Xcode 導航欄上面的文件後面的列表時將會得到如圖所示的界面: 2