紹棠 從framework裡面讀資源檔案

2021-07-28 04:55:08 字數 1600 閱讀 4077

這是framework內部的資源,跟其他都沒有關係。但是framework不能單獨存在,必須要放在某個「主程式」中才能起作用。bundle引數如果不傳,那麼預設是mainbundle,這種情況路徑就不對了。這種情況下,可以用下面這個api來獲得bundle引數。

+ (nsbundle *)bundleforclass:(class)aclass

;

// 獲取bundle引數

nsbundle *bundle = [nsbundle bundleforclass:self

.class];

// 讀uistoryboard

uistoryboard *storyboard = [uistoryboard storyboardwithname:@「storyboardname」 bundle:bundle];

// 讀uiimage

uiimage *image = [uiimage imagenamed:@"icon_back_gray" inbundle:bundle compatiblewithtraitcollection:nil];

// 檔案路徑

nsstring* htmlpath = [bundle pathforresource:@"index" oftype:@"html"];

同樣也是利用bundle引數來讀取,class選擇framework中某個匯出的class就可以了。

// 獲取bundle引數,zafinanceframeworkmanager是framework中介面類

nsbundle *bundle = [nsbundle bundleforclass:[zafinanceframeworkmanager class]];

這個和在主程式中讀自己的一樣,不需要bundle引數,一定要傳的話,就傳nil或者[nsbundle mainbundle]

同樣也是利用bundle引數來讀取,class選擇目標framework中某個匯出的class就可以了。

在單體程式中,nsbundle這個引數不需要管,全部傳nil或者是預設的[nsbundle mainbundle]就可以了。

引入了framework之後,就需要nsbundle這個引數來區分資源所在的模組。確定nsbundle比較簡單的方法是用下面這個api,其中的class只要選擇資源所在的framework中的某個class就可以了。如果是swift,並且不是類型別,那麼就可以用「self.dynamictype」來取得型別。

+ (nsbundle *)bundleforclass:(class)aclass

;

蘋果的指導原則是mvc,在大多數情況是合適的,客戶端都比較小,幾個頁面跳轉一下,加幾個動畫就差不多了。

近來,隨著移動裝置效能的提公升,手機越來越像電腦了,手機客戶端也越來越重,慢慢地跟pc端客戶端一樣。

程式變大了,為了便於維護,就要想辦法劃分模組,pc端經歷過的事情很快就在手機端重演。

從ios8開始,蘋果提供了動態鏈結庫framework,這個就相當於pc端的dll。手機客戶端的元件化、平台化也像在pc端那麼方便了。

從framework裡面讀資源檔案

這是framework內部的資源,跟其他都沒有關係。但是framework不能單獨存在,必須要放在某個 主程式 中才能起作用。bundle引數如果不傳,那麼預設是mainbundle,這種情況路徑就不對了。這種情況下,可以用下面這個api來獲得bundle引數。nsbundle bundleforc...

紹棠 js郵箱驗證 正則驗證

1.1 建立regexp物件new regexp 必選,正規表示式 可選,匹配模式g,i,m 1.2 regexp物件的方法 1.2.1 test var r1 new regexp world console.log r1.test hello,world true console.log r1....

紹棠 你為什麼會浮躁 摘抄

從十七八歲到二十七八歲的差不多十年時間裡,大多數人都處於浮躁狀態。如果你恰好這樣,只能表明一件事情 你很正常 你並不孤獨,周圍的人和你一樣,甚至比你更沒底兒,你要做的就是穩住,給自己多一些快樂,多閱讀 多思考 多積累 多享受生命中這段 浮躁歲月 浮躁的首要原因,是因為自己的滿意度正處於遞減的階段。滿...