ios開發(fā)遍歷文件夾,ios開發(fā)遍歷文件夾在哪

iOS怎么遍歷目錄讀取文件進(jìn)來回復(fù)都有分

首先,你只能訪問你的app沙盒中的目錄.

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比浠水網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式浠水網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋浠水地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。

要遍歷的話就需要你自己寫遞歸算法. [[NSFileManager defaultManager] contentsOfDirectoryAtPath:#(NSString *)# error:#(NSError **)#] 這個(gè)方法可以獲取指定路徑下面的內(nèi)容.

你可以點(diǎn)擊工程的products 里面編譯出來的.app文件,右鍵點(diǎn)擊 然后選擇show in finder.你就可以找到app的位置了.然后你再顯示包內(nèi)容就可以看到沙盒里面的東西了.

iOS中遍歷數(shù)組的方法

1.使用普通的for循環(huán)

NSArray *ary = @[@"我",@"是",@"張",@"小",@"倍",@"er"];

for (int i = 0; i ary.count; i ++) {

NSLog(@"%@",[ary objectAtIndex:i]);

}

2.使用for in 進(jìn)行遍歷

NSArray *ary = @[@"我",@"是",@"張",@"小",@"倍",@"er"];

for (NSString *str in ary) {

NSLog(@"%@",str);

}

3.使用do while

NSArray *ary = @[@"我",@"是",@"張",@"小",@"倍",@"er"];

int i = 0;

do {

NSLog(@"%@",[ary objectAtIndex:i]);

i ++;

} while (i ary.count);

}

4.使用while do?

NSArray *ary = @[@"我",@"是",@"張",@"小",@"倍",@"er"];

int i = 0;

while (i ary.count) {

NSLog(@"%@",[ary objectAtIndex:i]);

i ++;

}

5.使用快速枚舉

NSArray *ary = @[@"我",@"是",@"張",@"小",@"倍",@"er"];

[ary enumerateObjectsUsingBlock:^(id? _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

NSLog(@"%ld,%@,%@",idx ,[ary objectAtIndex:idx],obj);

}];

6.

NSArray *ary = @[@"我",@"是",@"張",@"小",@"倍",@"er"];

dispatch_queue_t queue = dispatch_queue_create("queue", DISPATCH_QUEUE_CONCURRENT);

dispatch_apply([ary count],queue, ^(size_t index){

NSLog(@"%ld,%@",index,[ary objectAtIndex:index]);

});

文件夾操作大全(swift)

iOS開發(fā)遇到讀文件,寫文件等,對(duì)文件和文件夾的操作,這時(shí)就可以使用FileManager,F(xiàn)ileHandle等類來實(shí)現(xiàn)。下面總結(jié)了各種常用的操作:

假設(shè)用戶文檔下Document有如下文件和文件夾:test1.txt、fold1/test2.txt

(1)首先我們獲取用戶文檔目錄路徑

(2). 對(duì)指定路徑執(zhí)行淺搜索,返回指定目錄路徑下的文件、子目錄及符號(hào)鏈接的列表

(3). 類似上面的,對(duì)指定路徑執(zhí)行淺搜索,返回指定目錄路徑下的文件、子目錄及符號(hào)鏈接的列表

(4). 深度遍歷,會(huì)遞歸遍歷子文件夾(但不會(huì)遞歸符號(hào)鏈接)

(5). 類似上面的,深度遍歷,會(huì)遞歸遍歷子文件夾(但不會(huì)遞歸符號(hào)鏈接)

(6). 深度遍歷,會(huì)遞歸遍歷子文件夾(包括符號(hào)鏈接,所以要求性能的話用enumeratorAtPath)

方式1:

方式2:

可以通過write(to:)方法,可以創(chuàng)建文件并將對(duì)象寫入,對(duì)象包括String,NSString,UIImage,NSArray,NSDictionary等。

(1)把String保存到文件

(2)把圖片保存到文件路徑下

(3)把NSArray保存到文件路徑下

(4)把NSDictionary保存到文件路徑下

(1)方法1

(2)方法2

(1)方法1

(2)方法2

(1)方法1

(2)方法2

(1)方法1:獲取所有文件,然后遍歷刪除

(2)方法2:刪除目錄后重新創(chuàng)建該目錄

從 attributes 中獲取具體的屬性:

iOS開發(fā)-iCloud環(huán)境配置及使用

配置iCloud,首先你就先要有一個(gè)真實(shí)的蘋果開發(fā)者賬號(hào),沒錯(cuò),就是一年688的那個(gè)。開通了之后,在Xcode中新建一個(gè)項(xiàng)目。然后在 TARGETS - Capabilities - iCloud 中打開開關(guān)就可以了。

就像這樣,是不是很簡單啊。

誒,可是好像有什么地方不對(duì),有些地方爆紅了。

這是因?yàn)槲覀冞€沒有給這個(gè)App ID 注冊(cè),所以接下來我們?nèi)ヌO果的 開發(fā)者官網(wǎng) 添加一個(gè)App ID,在添加的時(shí)候勾選 iCloud 服務(wù)就可以啦。

什么?你說你已經(jīng)創(chuàng)建過App ID了???沒關(guān)系,在管理App ID這邊選擇 Edit ,然后在勾選 iCloud 也是一樣的。

這時(shí)候回到Xcode中在看一下,應(yīng)該就已經(jīng)沒有爆紅了吧。

什么???還有爆紅??? 那你重啟一下XCode試試吧。再不行,你重啟一下電腦試試好了。

在Xcode中 iCloud 下邊一共有三個(gè)可以勾選的服務(wù),其中第一個(gè)就是 key-value storage ,這個(gè)也是最簡單的 iCloud 使用方法了,他跟 NSUserDefaults 的使用方法基本一樣,都是以鍵值對(duì)的方式存儲(chǔ)數(shù)據(jù)。只不過處理iCloud的類為 NSUbiquitousKeyValueStore 。

存儲(chǔ)數(shù)據(jù)的方式很簡單,只要使用 setObject:forkey: 之后,使用 synchronize 同步一下就可以了。

獲取數(shù)據(jù)的方式也一樣,是要使用 objectForKey 就可以了。

看一下 NSUbiquitousKeyValueStore 的頭文件,我們發(fā)現(xiàn)他還有一個(gè)通知消息

注冊(cè)這個(gè)通知,就可以在數(shù)據(jù)修改的時(shí)候接收到通知,然后做對(duì)應(yīng)的處理。最好的驗(yàn)證方法就是在存儲(chǔ)了數(shù)據(jù)之后直接刪除掉這個(gè)app,然后再次安裝,這個(gè)時(shí)候就會(huì)觸發(fā)該通知。

先放一下demo的[ 地址 。

以上就是關(guān)于配置iCloud和key-value存儲(chǔ)的簡單使用,后邊我們?cè)倏纯雌渌麅煞N服務(wù)是怎么樣使用的。

相較于key-value的存儲(chǔ)類型,Documents是用來管理一些比較大的文件,比如用戶創(chuàng)建的文檔等等。

在我們打開iCloud選項(xiàng)的時(shí)候,系統(tǒng)就是自動(dòng)為我們添加一個(gè) xxx.entitlements 的文件,這個(gè)東西用來保證應(yīng)用的安全性,確保只有你的應(yīng)用才能訪問你自己創(chuàng)建的文檔,系統(tǒng)也是依賴于他來區(qū)分用戶的iCloud賬戶中每個(gè)應(yīng)用的文檔。

查看這個(gè) xxx.entitlements 我們會(huì)發(fā)現(xiàn)在他里邊有這樣的一個(gè)key Ubiquity Container Identifiers ,對(duì)應(yīng)的value為 iCloud.$(CFBundleIdentifier) 。其實(shí)這個(gè) $(CFBundleIdentifier) 就代表這你的APP ID。所以也可以看成是 iCloud.com.zzr.ZZRiCloudDemo 。

NSFileManager 主要是對(duì)文件的操作,我們用它來獲取iCloud的存儲(chǔ)地址。

根據(jù)我們的entitlements,通過 NSFileManager 就可以獲得iCloud的存儲(chǔ)地址,在獲取地址之后,我們要先判斷一下獲取的地址是否為空,如果這個(gè)地址為空,則說明用戶的iCloud暫時(shí)不可用,接下來一切的操作都沒辦法進(jìn)行下去。

UIDocument 主要是用于對(duì)文件內(nèi)容的操作。

其實(shí)獲取了文件的地址之后,我們已經(jīng)可以直接對(duì)文件進(jìn)行操作了,但是官方還是讓我們通過 UIDocument 來操作,因?yàn)楫?dāng)我們?cè)趯?duì)iCloud進(jìn)行操作的時(shí)候,不止是只有我們自己對(duì)他進(jìn)行操作, iCloud daemon 也會(huì)對(duì)iCloud操作,用 UIDocument 操作能夠保證存取安全。

在使用 UIDocument 之前,我們新建一個(gè)類,繼承于 UIDocument ,并且重寫兩個(gè)方法:

NSMetadataQuery 主要用來查詢數(shù)據(jù)。

有了之前的準(zhǔn)備工作,創(chuàng)建一個(gè)文檔就非常簡單了,只要?jiǎng)?chuàng)建好我們要保存的文件,通過

就可以將文檔上傳到iCloud中了。

我們以一個(gè)txt文件作為示范。

修改文檔,其實(shí)就是重寫文檔,就是將上邊創(chuàng)建文檔中的 UIDocumentSaveForCreating 改為 UIDocumentSaveForOverwriting 。

刪除文檔其實(shí)就是通過之前的地址獲取到文件,然后調(diào)用remove方法即可。

之前講了增加、刪除、修改,好像增刪改查中只剩下查詢這個(gè)方法沒有介紹了。查詢和前邊幾個(gè)有點(diǎn)不同,他需要用到 NSMetadataQuery 。

直接調(diào)用 startQuery 開始查詢,iCloud就已經(jīng)開始幫我們查詢了,查詢好之后,iCloud會(huì)通過通知來告訴我們查詢到了東西。

所以我們注冊(cè)兩個(gè)通知

并相應(yīng)他們

其中

就是查詢到的內(nèi)容的數(shù)組,遍歷他,就可以獲取到對(duì)應(yīng)目錄下的全部文件了。

先放一下demo的 地址 。

demo簡單的制作了一個(gè)text文檔的存儲(chǔ)功能,一些交互沒有完善,但是基本的增刪改查功能都已經(jīng)實(shí)現(xiàn)了。

以上就是 iCloud Document 的簡單使用。此文章僅供個(gè)人學(xué)習(xí)使用,如有不當(dāng),希望大佬指出。

網(wǎng)站標(biāo)題:ios開發(fā)遍歷文件夾,ios開發(fā)遍歷文件夾在哪
網(wǎng)頁網(wǎng)址:http://www.muchs.cn/article40/phjiho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)站排名、App設(shè)計(jì)、移動(dòng)網(wǎng)站建設(shè)、面包屑導(dǎo)航、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)