在IOS專案開發中遇到的問題和和總結

2021-06-12 18:32:15 字數 1588 閱讀 5978

總結

六月份畢業,到公司有9個月,參與了三個專案,忽然發現現在做的只是**的積累和知識點的積累,對自身能力卻沒有一步步進行打造與提高。

剛來的時候由不會寫到現在的會寫,這是這半年的成果。下面要實現兩個目標:

一,提高**的質量:

a.**的書寫規範(見下部)

二,要提高**的靈活與可重用,要去再看看c++的書,理解物件導向程式設計。

二,加快知識的積累與總結

a,對於專案中常用知識點的總結:一,對於一些常用的知識點,要總結起來,寫好小示例,以減少二次使用所花費的時間。

二,對於一些大的知識點,可以寫乙個dame,深入理解,可以在需要的時候改進現有**,在下次使用時,可以有更好的效果。

三,要學習專案管理經驗:雖然公司規模較小,專案管理比較混亂。但要注意觀察與學習,要將總結的東西在自己身上試驗,至少要提高自己所負責模組的規劃的合理性。

**書寫規則:

1.專案名:能看出專案功能,可以

2.資料夾管理:專案每個模組要有相應資料夾,公用類要統一歸組

3.檔案管理:檔案命名方式:一,多人合作專案時,可在每個類前加上姓的英文本母_類名(盡量能表明模組,類功能。第一字母小寫,每個單詞首字母大寫)

例:w_rootviewcontroller.h

.h檔案規範

含系統名稱,功能說明(包含)、軟體版本、系統版本、開發人員、開發時間和修改記錄等幾個部分。

4.**規範:

類名:*首字母大寫

*可以在多個專案中,通用的類加ws開頭,特定應用的類則不需要。

例:wsrotateimage

方法名:*方法名首字母小寫,且後面的單詞以首字母大寫形式分隔。

*方法名盡量可以知道意思,名字長點沒事

*方法嗎有get字首,避免和變數的getter衝突

變數名:*變數名應能從名稱理解變數的含義,首字母小寫,後面的單詞以首字母大寫分隔

*成員變數使用「_」為字首:例:nsstring* _imagename;

常量:   *(#define,

enums, const等)使用全大寫字母

#import vs #include:

*使用#import引入objective-c和objective-c++標頭檔案,使用#include引入c或c++標頭檔案

初始化與釋放:

*初始化方法中,不要將變數初始化為「0」或「nil」,那是多餘的

*初始化時要盡量用alloc和init方法

*建立臨時物件時,盡量緊接著就釋放(或直接在同一行加autorelease)

*dealloc中釋放變數的順序要和宣告的順序一致(有利於review**)

*如果dealloc中呼叫其他方法來release變數,將被release的變數以注釋的形式標註清楚

*dealloc的方法放在類實現開始位置,便於修改與檢視

其他:nsstring:*nsstring類變數的屬性,如需儲存,應使用「copy」,禁止使用retain,以防止以外修改了nsstring的值

delegate:*delegate物件使用assign,禁止使用retain。因為retain會導致迴圈索引導致記憶體洩露

。並且此型別的記憶體洩露無法被instrument發現,極難除錯

專案在iOS11上遇到的小問題

ios11正式版出了這麼久了,在忙完新版本開發,寫下在ios11上的一些小問題。心想既然圖示變了那麼launchimage呢,果不其然launchimage也有小變化為了適配蘋果即將售出的iphone x,這裡我們需要在這裡新增一張新的尺寸圖1125px 2436px。那麼究竟是什麼導致,在ios ...

iOS 開發中遇到的坑

用 建立了乙個view後能顯示,但無法響應觸控事件 出錯原因 可能是父view的frame為cgzero 使用cocoapods更新庫時,使用pod install無效。出錯原因 命令被牆 解決方法 pod install 換成pod install verbose no repo update這個...

在乙個開源專案的開發中遇到的問題

記得以前曾經有跟我們討論有關easyjweb的效率問題,大致意思是easyjweb用得少,沒有經過成熟專案的考驗,而struts應用案例比較多,所以用起更放心。我的看法是,easyjweb只是乙個mvc框架,在乙個j2ee應用中,mvc部分所承擔的任務是比較少的,真正影響系統效能的是系統中間層,即業...