2017-02-16 6 views
0

どのように私はデータベースからの最後のレコードを正しい方法で取得できますか?今のところ私は最後のレコードを取得していますが、私はそれをキャストできません。警告には、「[Class]から 'Unrelated type' Class 'へのキャストは常に失敗します。この結果からプロパティを取得する別の方法ですか?コアデータベースからの最後のレコードを取得

let _context = DataBaseController.getContext() 
        let _fetchRequest:NSFetchRequest<Class> = Class.fetchRequest() 
        do { 
         let _allElements = try _context.count(for: _fetchRequest) 
         _fetchRequest.fetchLimit = 1 
         if _allElements == 1 { 
          _fetchRequest.fetchOffset = _allElements 
         } else { 
          _fetchRequest.fetchOffset = _allElements - 1 
         } 
         _fetchRequest.returnsObjectsAsFaults = false 
         do { 
          let _result = try DataBaseController.getContext().fetch(_fetchRequest) as! Ping 

         } catch { 
          print("Error \(error)") 
         } 
        } catch { 
         print("Error \(error)") 
        } 

ありがとうございます!

+1

私はあなただけの1を取得しても、それは1の配列を返すことを考えて、常に管理されたオブジェクトの配列を返すのフェッチ、Siは多分 '聞かせて結果= DataBaseController.getContextを(してみてください).fetch(_fetchRequest)を[Ping]とします。 _result = results [0]をPing'としますか? – Larme

答えて

1

Aコアデータ

let _result = try DataBaseController.getContext().fetch(_fetchRequest) as! [Ping] 
if !_result.isEmpty { 
    let lastItem to _result[0] 
} 
+0

_result [0]という意味で、データベースから最後のレコードを返すでしょうか?それはLIFOですか? – yerpy

+1

'fetchLimit'の値を1にすると**配列の中に** item **しかありません。 – vadian

関連する問題