FetchRequest - NSArray元素无法匹配Swift数组元素类型 - Swift 2.0 [英] FetchRequest - NSArray element failed to match the Swift Array Element type - Swift 2.0
本文介绍了FetchRequest - NSArray元素无法匹配Swift数组元素类型 - Swift 2.0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想要执行 NSFetchRequest
,将我的资料显示在 UICollectionView
:
I want to do a NSFetchRequest
to display my data into a UICollectionView
:
import UIKit
import CoreData
let appDelegate: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context: NSManagedObjectContext = appDelegate.managedObjectContext
class GarageViewController: UIViewController, UICollectionViewDelegate,UICollectionViewDataSource {
@IBOutlet weak var backgroundView: UIImageView!
@IBOutlet weak var collectionView: UICollectionView!
var voitures: [Voiture] = [Voiture]()
override func viewDidLoad() {
super.viewDidLoad()
collectionView.reloadData()
let fetchRequest = NSFetchRequest(entityName: "Voiture")
fetchRequest.resultType = .DictionaryResultType
do {
try voitures = context.executeFetchRequest(fetchRequest) as! [Voiture]
}
catch let fetchError as NSError {
print("VoitureFetch error: \(fetchError.localizedDescription)")
}
if (voitures.count > 0) {
for voiture in voitures as [Voiture] {
print(voiture.nom!)
}
}
else {
print("Aucune voiture")
}
}
当我运行代码时,我得到这个错误:
When I run the code I get that error :
致命错误:NSArray元素无法与Swift数组元素类型匹配
fatal error: NSArray element failed to match the Swift Array Element type
谢谢您的帮助!
推荐答案
解决方案
Solution
var voitures: [NSManagedObject]? = [NSManagedObject]()
if (voitures!.count > 0) {
let voiture: NSManagedObject = voitures![indexPath.row]
print((voiture.valueForKey("nom") as? String))
}
这篇关于FetchRequest - NSArray元素无法匹配Swift数组元素类型 - Swift 2.0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文