2016-07-11 3 views
2

Switsを使用して、私がAssetsフォルダに入れた画像を繰り返し処理しようとしています。Array(または何らかのデータ構造ですか?)のAssets.xcassetsファイル名を取得する方法

let assetArray = ["image1.gif", "image2.gif", ...]

これが可能である:私はそれらを反復し、後で.nibファイルに挿入して、これまでのところ、私はのようなものを取得する方法を見つけることができませんしたいのですが?私はNSBundle.mainBundle()で遊んでいますが、これについて何も見つかりませんでした。私にお知らせください。ありがとう!

+0

あなたは、私が30倍をそのアウト入力して画像を読み込む30+示唆されていますか?あなたは、次の操作を行うことができますファイル名を取得するには私はiOS開発にかなり新しいですが、それは私にはとても奇妙なようです。 –

答えて

7

Assets.xcassetsはフォルダではなく、ファイル名としてAssets.carを使用するすべてのイメージを含むアーカイブです。

本当に資産ファイルを読みたい場合は、oneのようにファイルの内容を抽出できるライブラリを使用する必要があります。

また、プロジェクトでバンドルを作成し、そこにあるすべてのイメージをドラッグすることもできます。私の場合は、私のプロジェクトにImages.bundleがあります。

let fileManager = NSFileManager.defaultManager() 
let bundleURL = NSBundle.mainBundle().bundleURL 
let assetURL = bundleURL.URLByAppendingPathComponent("Images.bundle") 
let contents = try! fileManager.contentsOfDirectoryAtURL(assetURL, includingPropertiesForKeys: [NSURLNameKey, NSURLIsDirectoryKey], options: .SkipsHiddenFiles) 

for item in contents 
{ 
    print(item.lastPathComponent) 
} 

SWIFT 3バージョン:

let fileManager = FileManager.default 
let bundleURL = Bundle.main.bundleURL 
let assetURL = bundleURL.appendingPathComponent("Images.bundle") 
let contents = try! fileManager.contentsOfDirectory(at: assetURL, includingPropertiesForKeys: [URLResourceKey.nameKey, URLResourceKey.isDirectoryKey], options: .skipsHiddenFiles) 

for item in contents 
{ 
    print(item.lastPathComponent) 
} 
+1

これは私が探していたものです。本当にありがとう! –

+0

スイフト3以上で期限が切れているようです。今日はどうやってですか? – Neo42

+0

私はすぐにSwift 3バージョンを追加しました。 –

関連する問題