我在將條目從一個屬性放入數組中時遇到了一些問題。這個數組然後將被用在UIPickerview中。語言是Swift。使用一個核心數據屬性填充數組
在swift和Core Data中有許多關於Pickerviews的快速教程。但我還沒有找到解釋如何用一個屬性填充數組的方法。
更糟糕的是,我仍然很難將目標c轉換成swift。
所以我有兩個問題:
1我是正確的解決方案,從一個屬性建立一個數組,然後用這個數組內容填寫Pickerview?
2你如何在swift中獲得該數組?
objective c code on core data => array
從鏈接
目標C:
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]
initWithEntityName:@"WeightLog"];
self.contactarray = [[managedObjectContext executeFetchRequest:fetchRequest
error:nil] mutableCopy];
titleNames = [[NSMutableArray alloc] init];
for (int i =0; i<=self.contactarray.count; i++) {
NSManagedObject *device = [self.contactarray objectAtIndex:i];
[titleNames addObject:device];
}
我不能在斯威夫特寫的部分:
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]
initWithEntityName:@"WeightLog"];
self.contactarray = [[managedObjectContext executeFetchRequest:fetchRequest
error:nil] mutableCopy];
謝謝!
編輯: 工作代碼!
var myTitle: String = ""
var appDel:AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
var context:NSManagedObjectContext = appDel.managedObjectContext!
let fetchRequest = NSFetchRequest(entityName:"MyEntity")
var myTitles: [String] = []
if let myLogs = context.executeFetchRequest(fetchRequest, error: nil) {
myTitles = myLogs.map { $0.myTitle } // get an array of the 'myTitle' attributes
println(myTitles)
這工作一個變化後:'作爲? [WeightLog]'給出了錯誤,所以我刪除了它。 'println(titleNames)'nog只給出一個屬性的條目數組。 – 2014-12-08 16:43:38