iOS

Swift4:ソートのNSStringを変更

NSStringが少し危ない件、最後に残っていたソートのNSStringも変更しました。

変更点は次のサンプルの赤い文字の部分です。

ついでにソートキーの変更はメッセージと同じ方式のモーダルで対処することで設定を簡便にしました。

😂 Before

let wCond:NSSortDescriptor = NSSortDescriptor(key:pIdentifier,
ascending:pSeq, selector: #selector(NSString.caseInsensitiveCompare(_:)))
let wResult = (Z.rcArray as NSArray).sortedArray(using: [wCond])//<– Swift 3.0

😊 After

func ExecSort(_ pIdentifier:String, pSeq:Bool) {
var wFile:String       = “” //Save the current row’s uniq key to find the row after sorting.
  if Z.maybeLastRow >= 0 { wFile = Z.rcArray[Z.maybeLastRow][Z.fFile] as! String }
else { }
  let wCond   = NSSortDescriptor(key:pIdentifier,ascending:pSeq)   
  let wResult = (Z.rcArray as NSArray).sortedArray(using: [wCond]) as NSArray 
Z.rcArray               = []
Z.rcArray               = wResult
  Z.maybeLastRow          = ExecGetCurrentRow(wFile)
yTableView?.reloadData()
}

😊 Reverse

func ExecSortReverse() {
var wFile:String         = “”
if Z.maybeLastRow >= 0 { wFile = Z.rcArray[Z.maybeLastRow][Z.fFile] as! String }
else { }
  Z.rcArray = Z.rcArray.reversed()
  Z.maybeLastRow           = ExecGetCurrentRow(wFile)
yTableView?.reloadData()
}

 

Categories: iOS, Swift, 技術