-1
我正在創建一個由iOS
和swift
創建的項目。該項目是一個基於套接字的應用程序在這個應用程序中,數據存儲在數據庫中並從那裏獲取。當我想從表中獲取數據時,我把數據提取到NSManagedObject
類作爲模型,當我想使用它們時,從它們的NSManagedObject
模型中獲取它們。我也應該說模型類是客觀的C基礎!現在,當我想在swift類中使用這個模型數據並將它們轉換爲特定類時,會在運行時給出一個錯誤。請給我一個解決方案。這是我的代碼:iOS - 在同一個項目中使用Swift和Objective c?
-(NSMutableArray *)loadBills : (int) estateId : (int) personId {
NSManagedObjectContext *context = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Bill" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSPredicate *pred = [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"(personId = %d) AND (estateId = %d)",personId,estateId]];
[fetchRequest setPredicate:pred];
NSArray *fetchedObjects=[self.managedObjectContext executeFetchRequest:fetchRequest error:nil];
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"billId" ascending:NO];
NSArray *sortedArray = [fetchedObjects sortedArrayUsingDescriptors:@[sort]];
NSMutableArray *array=[[NSMutableArray alloc]init];
for (NSManagedObject *info in sortedArray) {
Bill *bill=(Bill *)info;
[array addObject:bill];
}//for
return array;
}//loadBills
鑄造
雨燕代碼:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as! BillCell
let sa = getBillData().objectAtIndex(indexPath.row) as! Bill
print(sa.expDate)
return cell
}
和getBillData()
功能是:
和錯誤是:
可能不會將'NSManagedObject_Bill_'轉換爲Bill。
我試試它,但結果是零... !!! :( – BinMan1
您是否嘗試過調試並查看「sa」變量是什麼? –
是啊...什麼? – BinMan1