我想保存在INT核心數據和我掙扎。保存一個INT到核心數據
我有一個SQLite數組,大約有2000條記錄,所有數據都列在tableview上。當選擇其中一條記錄時,如果顯示該項目的詳細信息,則會轉到「speciesDetailViewController」。
當前顯示的所有內容都不可編輯。
我添加了用戶添加備註和選項來更改其中一個字段的功能。
由於我沒有使用SQLite的經驗(僱傭了某人),所以這些較小的更改保存在CoreData中。
我所有的工作,除了保存詮釋。
以下是其他詳情。
var specieId: Int = -1
var speciesDetailData : SpeciesDetailData?
lazy var coreDataStack = CoreDataStack()
以下是使用的保存功能。
func saveResults() {
if let speciesDetailData = speciesDetailData {
let x = Int32(self.specieId)
speciesDetailData.commonName = ckCommonNameTextField.text!
speciesDetailData.commonForeignName = ckCommonForeignNameTextField.text!.isEmpty ? "" : ckCommonForeignNameTextField.text
speciesDetailData.speciesName = speciesLabel.text!
speciesDetailData.speciesID = x
speciesDetailData.speciesNote = ckNotesTextView.text!.isEmpty ? "" : ckNotesTextView.text
} else if speciesDetailData == nil {
if let savedData = NSEntityDescription.entity(forEntityName: "SpeciesDetailData", in: coreDataStack.managedObjectContext1) {
let x = Int32(self.specieId)
let speciesDetailData = SpeciesDetailData(entity: savedData, insertInto: coreDataStack.managedObjectContext1)
print (specieId)
speciesDetailData.commonName = ckCommonNameTextField.text!.isEmpty ? "" : ckCommonNameTextField.text
speciesDetailData.commonForeignName = ckCommonForeignNameTextField.text!.isEmpty ? "" : ckCommonForeignNameTextField.text
speciesDetailData.speciesName = speciesLabel.text!
speciesDetailData.speciesID = x
speciesDetailData.speciesNote = ckNotesTextView.text!.isEmpty ? "" : ckNotesTextView.text
}
}
coreDataStack.saveMainContext()
實體是SpeciesDetailData,並且speciesID當前設置爲Int32。
我已經嘗試了上面,我也試圖
speciesDetailData.speciesID = Int32(self.specieId)
speciesDetailData.speciesID = Int32(specieId)
我已經嘗試了所有的設置爲Int64的,相同的結果。
我看過其他帖子,但所有建議都與我試過的一樣。
另外,我沒有收到錯誤。我只得到死亡的紅線。
我設置了一個斷點並按照它進行了操作,當它碰到int行時,它就會變成紅色,沒有任何細節。
更新: 我不知道什麼是「用戶標量類型」,但我沒有選中它,自動更正將其更改爲下面現在運行沒有錯誤,但零保存。我運行打印(specieId)並打印正確的整數。
speciesDetailData.speciesID = Int32(specieId) as NSNumber?
有什麼建議嗎?