Swift

Swift:ソート

ソートはめったに使わないので改めてメモします。

  • コードは比較的に簡単。

var cm:commonArea  = commonArea()
var wkArrayExif:[NSDictionary]  = [NSDictionary()]

func ExecSort(pSortkey:String)  { 
var sortDescriptor:NSSortDescriptor = NSSortDescriptor(key: pSortkey, ascending: true, selector: “compare:”)
var sortedResult: NSArray = (cm.wkArrayExif as NSArray).sortedArrayUsingDescriptors([sortDescriptor])
cm.wkArrayExif     = [NSDictionary]() 
cm.wkArrayExif     = sortedResult as! [NSDictionary]
}   

  • ソートキーは、storyboardのAttributes inspectorのsort keyに定義した同じ値を指定する
  • selectorも同様にAttributes inspectorのselectorに定義した同じ値を指定する
  • NSArrayと[NSDictionary]の変換のやり方がようやくわかりました。
  • この相互変換によりvalueForKeyを使った検索ができそうなので、あとでやってみる必要があります。簡単にしか調べていないのですが、ログを見る限り、NSArrayと[NSDictionary]は相互に変換できたようですが、valueForKeyはうまく行きませんでした。今は時間がないので、いつか思いついたときにもう一度やり直したいと思います。

参考:NSArrayやNSDictionaryを、SwiftのArrayやDictionaryと相互に変換する

Categories: Swift, 技術