近期粗陋筆記

2021-08-25 11:22:26 字數 4040 閱讀 3537

一、回滾

遇到這樣的問題:

1、解決方法  選擇read from disk

2、將xcode退出,重新開啟

二、目錄

1、如果weexjsfile是乙個groups

nsstring *steeer  = [[nsbundle mainbundle] pathforresource:@"registerorderpay" oftype:@"js"];

這個是有的

並且是:

2、但如果這是乙個檔案

nsstring *steeer  = [[nsbundle mainbundle] pathforresource:@"registerorderpay" oftype:@"js"];

這個就沒有

3、[nsbundle mainbundle] bundlepath]是

4、猜想

只要是group

所有檔案都是[nsbundle mainbundle] bundlepath]的子目錄,這個猜想是對的。

5、+ (nullable nsstring *)pathforresource:(nullable nsstring *)name oftype:(nullable nsstring *)ext indirectory:(nsstring *)bundlepath;

這個介面幹嘛用的

這個介面是指定路徑,在指定路徑裡面尋找你要想找的檔案。

6、沙箱的作用是隔離應用程式,每個應用程式只能操作自己的沙箱中的東西

// 應用程式的bundle相當於是乙個唯讀的沙箱環境

8、歸檔檔案也是寫入沙盒裡面

9、可以斷定group是平行拷貝,資料夾是樹形拷貝

10、nsarray *arr =  [nsbundle allbundles];

11、還要匯入方式只能用fonder形式,而不能用grounps形式

fonder是原始檔案,而groups是虛擬檔案

三、列表優化建議

1、然後列表所有資料都是提前計算好

2、再渲染

3、渲染用的是非同步渲染

4、yylabel

5、也改了一些東西

6、你把列表用的所有資料都提前算好,放到乙個model裡面去

7、然後渲染的時候label用yylabel渲染

8、不是 後台給後台的

9、我們客戶端自己計算好所有要用的資料

10、列表裡面顯示只需要拿到資料賦值就行

11、不需要做任何的初始化東西

12、cell裡面不要帶資料的任何計算

13、就是賦值

14、列表那個**所需要的資料數組裝的是model

15、這個model就是裡面資料提前算好再放陣列

16、然後檢視層次減少一些

17、cell裡面自定義的子檢視不要太多

18、label的話

19、用yylabel

四,字串

1、-(bool)hasprefix:(nsstring *)// astring ;檢查字串是否以astring開頭

2、-(bool)hassuffix:(nsstring *) // astring;檢查字串是否以astring結尾

3、 capitalizedstring:將字串的首字母大寫

五、pod install 和update的區別

作者寫的很棒

簡單來說

1、使用pod install 來安裝新的庫,即使你的工程裡面已經有了podfile,並且已經執行過pod install 命了;所以即使你是新增或移除庫,都應該使用pod install。

2、使用pod update [podname]只有在你需要更新庫到更新的版本時候用。

4、pod outdated:

當你執行pod outdated命令,cocoapods會列出那些所有較podfile.lock裡面有新版本的庫(那些當前被安裝的庫的版本)。這個意思就是,如果你執行pod update podname,如果這個庫有新的版本,並且新版本仍然符合在podfile裡的限制,它就會被更新。

5、pod update

當你執行 pod update podname 命令時,cocoapods會幫你更新到這個庫的新版本,而不需要考慮podfile.lock裡面的限制,它會更新到這個庫盡可能的新版本,只要符合podfile裡面的版本限制。如果你執行pod update,後面沒有跟庫的名字,cocoapods就會更新每乙個podfile裡面的庫到盡可能的最新版本。

6、正確做法

你應該使用pod update podname去只更新某個特定的庫(檢查是否有新版本,並盡可能更新到新的版本)。對應的,你應該使用pod install,這個命令不會更新那些已經安裝了的庫。

當你在你的podfile裡面新增了乙個庫的時候,你應該使用pod install,而不是pod update,這樣既安裝了這個庫,也不需要去更新其它的已安裝庫。

你應該使用pod update去更新某個特定的庫,或者所有的庫(在podfile的限制中)。

7、提交你的podfile.lock檔案:

在此提醒,即使你一向以來,不commit你的pods資料夾到遠端倉庫,你也應該commit並push到遠端倉庫中。

要不然,就會破壞整個邏輯,沒有了podfile.lock限制你的pods中的庫的版本。

六,tcp/ip

1、這兩個埠最大的區別就在於服務不同。

埠:80

服務:http

說明:用於網頁瀏覽。木馬executor開放此埠

埠:443

服務:https

說明:網頁瀏覽埠,能提供加密和通過安全埠傳輸的另一種http

https(secure hypertext transfer protocol)安全超文字傳輸協議 它是乙個安全通訊通道,它基於http開發,用於在客戶計算機和伺服器之間交換資訊。它使用安全套接字層(ssl)進行資訊交換,簡單來說它是http的安全版。

https和http的區別:

https協議需要到ca申請證書,一般免費證書很少,需要交費。

http是超文字傳輸協議,資訊是明文傳輸,https 則是具有安全性的ssl加密傳輸協議

http和https使用的是完全不同的連線方式用的埠也不一樣,前者是80,後者是443。

http的連線很簡單,是無狀態的 https協議是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議 要比http協議安全

2、192.168.1.1是路由器主機位址

一般使用者名稱是admin

七、迴圈結構中break、continue、return和exit的區別

1.break語句的使用場合主要是switch語句和迴圈結構。在迴圈結構中使用break語句,如果執行了break語句,那麼就退出迴圈,接著執行迴圈結構下面的第一條語句。如果在多重巢狀迴圈中使用break語句,當執行break語句的時候,退出的是它所在的迴圈結構,對外層迴圈沒有任何影響。如果迴圈結構裡有switch語句,並且在switch語句中使用了break語句,當執行switch語句中的break語句時,僅退出switch語句,不會退出外面的迴圈結構。通過圖3-17,讀者可以很直觀地了解break語句的使用。

2. continue

continue語句是這5種結束迴圈的方式中最特殊的,因為它並沒有真的退出迴圈,而是只結束本次迴圈體的執行,所以在使用continue的時候要注意這一點。圖3-18為各種迴圈結構中continue語句的使用。在for迴圈中,首先執行表示式1(注意表示式1在整個迴圈中僅執行一次),接著執行表示式2,如果滿足條件,那麼執行迴圈體,如果在迴圈體中執行了continue語句,那麼就跳轉到表示式3處執行,接下進行下一次迴圈,執行表示式2,看是否滿足條件;在while迴圈中,如果執行了continue語句,那麼就直接跳轉到表示式處,開始下一次的迴圈判斷;在do while迴圈體中如果執行了continue語句,那麼就跳轉到表示式處進行下一次的迴圈判斷,這一點前面已經驗證過了。

近期學習筆記

js筆記 1.可以把 2.除法中infinity infinity nan 有限大的數值除以無限大的數值結果是有限大的數值,有限大的數值除以 0結果是 nan,無窮大值除以有限大值結果是 nan3.加法,有乙個數是nan 則結果是 nan,infinity infinity 結果是nan 4.字串相...

近期筆記和心情總結

心情總結 秋招嵌入式失利,是因為我確實在硬體方面學的很差,春招我改投軟體方面,這些天挺失望的,簡歷乙份份的被拒,很多都不給一次筆試的機會,我也知道是為什麼,因為學歷不符,專業不符。這些天大家考研上岸的訊息不斷傳來,我一遍遍的在內心質問自己,我真的選錯了嗎?我是不是應該去考研,而不是像當時那樣一腔熱血...

Unity自學筆記 近期錯誤彙總

最近在設定乙個空的遊戲體,作為飛機大戰遊戲的邊界碰撞體 用來銷毀飛機 彈出了這個錯誤 actor updatemassfromshapes compute mesh inertia tensor failed for one of the actor s mesh shapes please cha...