当我运行下面的代码行时,收到错误消息'无法将类型Swift.Int16的值转换为Swift.AnyObject'。上线时出现错误:Swift:无法将类型Swift.Int16的值转换为Swift.AnyObject
'newWorkout.setValue(totalTimeConverted为AnyObject,forKey: “workoutTime”)'
锻炼是我的实体的名称。它有两个属性;
类型的NSDate
类型的Int16的workoutTime的workoutDate。
let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate let context: NSManagedObjectContext = appDel.managedObjectContext let newWorkout = NSEntityDescription.insertNewObjectForEntityForName("Workout", inManagedObjectContext: context) as! Workout let totalTimeConverted = Int16(totalTime) // Add parameters newWorkout.setValue(totalTimeConverted as! AnyObject, forKey: "workoutTime") newWorkout.setValue(NSDate(), forKey: "workoutDate") do { try context.save() } catch { print("Error saving data") } do { let request = NSFetchRequest(entityName: "Workout") let results = try context.executeFetchRequest(request) if results.count > 0 { for item in results as! [NSManagedObject]{ let time = item.valueForKey("workoutTime") let workoutDate = item.valueForKey("workoutDate") print(time!, workoutDate!) } } } catch{ print("Error loading data") }
你为什么铸造'AnyObject'? –