0

こんにちは、ご協力ありがとうございます。私は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

}

サンプルの単一配列を使用すると、すべてのコードが問題なく機能することを忘れていました。しかし、多次元にすると、例外エラーが発生します。

4

1 に答える 1