原创 selector

什麼是選擇器 選擇器是一個方法名稱,但它以Objective-C運行時使用特殊方式編碼,以快速進行查詢。 @selector(方法名)給一個方法進行編碼,生成選擇器。 NSObject類提供了一個方法: - (BOOL)res

原创 內存的劃分

內存的劃分 棧-stack 棧中的內存由編譯器自動管理。 函數的形參、普通局部變量都存儲在棧中。 堆-heap C語言中使用malloc函數、OC中使用alloc函數申請的都是堆中的內存。需要程序員手動動態的 申請和釋放。若

原创 團隊開發管理-軟件項目估算

軟件項目估算 估算方法 專家判斷 參數判斷 **功能點方法 **COCOMO模型 **用例點估算 **機器學習方法

原创 軟件開發過程-代碼性能分析

何爲優化 優化的注意事項 **不要猜測需要優化的部分,需要進行專業分析。

原创 方法

聲明格式 +/- (返回值) methodName:(參數類型)參數名稱 andSome:(參數類型)參數名稱… 如:+ (id) initWith:(NSString*) name andHeight:(double) he

原创 團隊開發管理-項目溝通管理

何爲溝通 溝通模型 溝通方式 口頭溝通:談話、討論、演講、彙報、會議。。。 *可以直觀的傳遞理解彼此。 *時間地點要求較高。 書面溝通:合同、報告、會議紀要、報表備忘錄。。。 *具有嚴謹性、規範性、權威性,適合存檔。

原创 @property

@property做了什麼 @property : 在類的接口中、分類接口、協議中聲明屬性。格式:@property (特性) 屬性類型 屬性名稱。 它會設置與屬性關聯的setter/getter方法,

原创 軟件開發過程-結對編程實踐

結對編程 結對編程是有兩名程序員在一臺電腦上結對編寫解決同一問題。 **注意的事項: *駕駛員是動手寫程序的人 * 領航員是一旁提醒的人 **並不是所有項目都適合結對編程

原创 category

什麼是category 類別一種爲現有類添加新方法的方式。它利用OC動態運行時分配機制。它允許你給任何類添加新的方法。 實現語法 @interface 已有類名 (類別名稱) // add your methods @en

原创 單元測試-黑盒測試方法

測試用例的理解 設計測試用例注意事項: 黑盒測試 概念理解: 可以理解爲測試功能是否完備。 **等價類劃分: 例子: 複合數據類型的等價類劃分: **邊界值分析

原创 關於內存管理的一些小問題

當我們用類似以下代碼測試retainCount的時候,發現輸出的並不是0.@autoreleasepool { NSObject *obj = [[NSObject alloc] init]; [obj r

原创 枚舉的使用

C語言的枚舉 typedef enum ENUM_NAME{ ENUM_VAR1, // 默認是int類型,從0開始 ENUM_VAR2 }ENUM_NAME; 其他的寫法就不列舉了。 Objective-C的枚舉 在o

原创 UML (Unified Modeling Language)的幾種關係

寫在前面   本篇主要記錄UML中比較重要的幾種概念,並不對UML做詳細介紹。其中多表現爲OC中的內容。 詳細內容 關聯、A類的實例方法的形參是B類的對象,A類和B類的關係是關聯關係。使用實心線加箭頭表示,箭頭指向形參類(B類)。

原创 常用類-NSString

NSString 注:NSString類的對象是不可變的,就是說,一個字符串一旦被創建,就不可再次改變它的內容。默認使用UTF-16編碼。 字符串的創建 @”“ // 最簡單的就是這個啦。 NSString *str = @"T

原创 觀察者設計模式

寫在前面 設計模式是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是爲了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。當然設計模式和語言沒有關係,它是一種編程思想。本篇將介紹觀察者計模式(又稱發佈-訂