こんにちは、ご協力ありがとうございます。私はswiftが初めてで、他の回答を徹底的に調査しましたが、それらはすべてうまくいきません。次の形式のサンプル データがあります。
["10-24-2015", "124", "はい", "いいえ", "いいえ", "はい", "はい", "NA", "NA"]
日付と値が異なる 3 つのエントリのみがあり、それらはすべてマスター配列にあります。既にファイルに書き込まれているため、ロードされたファイルから以下のコードを開始します。私がやりたいのは、各配列の最初の値である日付で配列をソートすることだけです。
すでに投稿されたほとんどの回答の問題は、それらが古いコードを使用していたことであり、私はそれらを変換しようと最善を尽くしましたが失敗しました. 数日前に XCode 7.1 がリリースされるまで、私は XCode 7.1 ベータ版を使用していました。私が持っている最も近いものは以下であり、コンパイラエラーは発生しませんが、大きな終了アプリ例外エラーが発生します。私が試した他のものも、コメントとエラーに近いものを含めました。
var resultsArray = [[String]]()
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cellIdentifier = "resultsViewCell"
let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! resultsTableViewCell
let resultsdocumentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let resultsfileURL = resultsdocumentsURL.URLByAppendingPathComponent("ResultsPlist.plist")
resultsArray = NSKeyedUnarchiver.unarchiveObjectWithFile(resultsfileURL.path!) as! Array
let Sort: NSSortDescriptor = NSSortDescriptor(key: "date", ascending: false)
let sortedArray: NSArray = (resultsArray as NSArray).sortedArrayUsingDescriptors([Sort])
// var sortedArray = resultsArray.sort {$0.localizedCaseInsensitiveCompare($1) == NSComparisonResult.OrderedAscending }
// Error: Value of type '[String]' has no member 'localizedCaseInsensitiveCompare'
// var sortedArray = resultsArray.sort({ $0.0 > $1.0 })
// Error: Value of type '[String]' has no member '0'
return cell
}
サンプルの単一配列を使用すると、すべてのコードが問題なく機能することを忘れていました。しかし、多次元にすると、例外エラーが発生します。