Swift

Swift:配列で泣き(2)

ちゃんと勉強しなかったツケをようやく払いつつあります。

このサンプルを応用すれば、フォルダ管理が簡単にできることがわかりました。まだ最後まで行っていないので、「多分」がつきますけど。


特定のディレクトリを読みだしたときの状態。実際は数値でなく文字列になり、1個のみで複数の行は発生しない。
var wName:[NSArray] = []

wName.append([0, 1, 2, 3, 4, 5])
wName.append([6,7,8,9])
wName.append([1,1,1,1])

それぞれのフォルダの中身をディレクトリ名とセットで登録していく。インデックスはpathを分解して、base pathを0とした相対位置とする。wNameのほかに、写真が含まれるフォルダかどうか識別する列を追加した方がいいかもしれない(そうしない場合、wNameの先頭文字にその識別子を入れてしまうと、分解・合成が必要になる)。
var wparent:NSMutableArray = []
var wbase:String    = “/hk/Desktop”
wparent[0] = [wbase, wName[0]]
wparent[1] = [“Photo”, wName[1]]
wbase          = “abcdef”
wparent[2] = [wbase, wName[2]]
println(__LINE__,”parent格納結果は、wString=\(wparent)です。”)

クリックされたディレクトリは、base pathを0とした相対位置にあるディレクトリ名と一致する中身を持っている。2次元配列にしておけば、直接、フォルダ中のフォルダ名を参照できる。
println(__LINE__,”取り出し方 wparent[0]=\(wparent[0])”)
println(__LINE__,”取り出し方 wparent[0][0]=\(wparent[0][0])”)
println(__LINE__,”取り出し方 wparent[0][1]=\(wparent[0][1])”)
println(__LINE__,”取り出し方 wparent[1][1]=\(wparent[1][0])”)
println(__LINE__,”取り出し方 wparent[1][1]=\(wparent[1][1])”)

println(__LINE__,”配列数 wparent[0][0].count=\(wparent[0][1].count)”)
println(__LINE__,”配列数 wparent[1][1].count=\(wparent[1][1].count)”)

Categories: Swift, 技術