イメージを2次元配列に追加しようとしています。これは私が今やっているところです:配列がイメージを追加しない
var imgArr1: [UIImage] = []
var imgArr2: [UIImage] = []
var allArrays = [imgArr1, imgArr2]
for array in 0 ..< allArrays.count {
for i in categories { //list of folder names used below
for img in fileNames("path/to/my/images/i") { //fileNames() returns all the files' names it finds in the folders
print(img) //this does print out the correct file names, for instance: "img_1.jpg"
allArrays[array].append(UIImage(named: img))
}
}
}
print(imgArr1) //this prints: "[]"`
ループとカスタム機能が動作していると仮定できます。 (コード内のコメントに注意してください:イメージ名は正しく出力されます)insert at index
のような新しいイメージを追加し、+=
のような他の方法を使ってみました。
アイデア?
ありがとうございます!
私の推測では、 'UIImageが(という名前のことです。これを行う方法の一例として、あなたが外側の配列のインデックスをループとは、添字を使用して、内部の配列を変更することができます。 img) 'は動作しません。代わりに 'imageWithContentsOfFile:'を使用してください。これは、パラメータとして使用しているイメージ名ではないパスです。 – Larme
私はそれも問題かもしれないと思ったが、私が 'print(UIImage(named:img))'を実行すると、イメージのプロパティ(少なくともいくつかの数とサイズ)を出力する。私はまた、ファイル名の拡張子を付けて試しました。 – LinusGeffarth
ここで問題となるのは、スワイプ配列は値型で、常にコピーされます。あなたが 'allArrays'をチェックすると画像は含まれますが、imgArr1は空です。 – Aks