2015-06-14 56 views
0

需要幫助的打擊代碼。剛剛更新到Xcode的7測試版不能援引「拯救」與類型的參數列表「(無)」

我得到以下錯誤「無法調用‘保存’有說法類型「(無)'」的列表。這是在IOS 6的工作

import UIKit 
import CoreData 

class ItemViewController: UIViewController { 
@IBOutlet weak var textFieldDiveNumber: UITextField! 
@IBOutlet weak var textFieldDiveDate: UITextField! 
@IBOutlet weak var textFieldDiveLocation: UITextField! 


override func viewDidLoad() { 
    super.viewDidLoad() 

    // Do any additional setup after loading the view. 
} 
@IBAction func saveTapped(sender: AnyObject) { 

    let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 

    let contxt: NSManagedObjectContext = appDel.managedObjectContext 
    let en = NSEntityDescription.entityForName("List", inManagedObjectContext: contxt) 

    var newItem = Model(entity: (en)!, insertIntoManagedObjectContext: contxt) 

    newItem.divenumber = textFieldDiveNumber.text! 
    newItem.divedate = textFieldDiveDate.text! 
    newItem.divelocation = textFieldDiveLocation.text! 

    contxt.save(nil) 



    self.navigationController?.popToRootViewControllerAnimated(true) 
} 


override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 



} 
+0

你有沒有試過'NULL'? – luk2302

+0

是的,我有,它聲明NULL不可用,使用'nil'而不是這個導入的宏 – Scubadivingfool

回答

2

自上週一以來這已經被問了好幾次,但要找到&標記重複從SE iOS應用很麻煩,所以...

在斯威夫特2,NSManagedObjectContext「 s save()方法標記爲throws,因此您必須處理來自它的任何錯誤。 (並且你不通過一個錯誤指針作爲參數。)

你的Swift 1代碼忽略了錯誤;雨燕2相當於是一個空catch

do { 
    try context.save() 
} catch { 
    // you can go about your business. move along. 
} 

忽略錯誤是不是一個好主意,但。如果你不想讓錯誤的用戶恢復的做一些有用的事情在catch,只是計劃崩潰的錯誤:

try! context.save() 
0

感謝名單Rickster,我也碰到過,並試圖您的方法,在當天早些時候但它不起作用。 但是,當你重新發布你的答案時,我只用這次「contxt」而不是「context」來試用它,它工作。 非常感謝。 此致敬禮。 Del

相關問題