我正在Swift中创建一个NSManagedObject子类,当我创建一个类型为Int,Float或Double的可选属性时,我得到一个错误(也许是其他我没试过的).
@NSManaged var number: Float? //error:Property cannot be marked @NSManaged because its type cannot be represented in Objective-C
@NSManaged var anotherNumber: Float //no error
@NSManaged var array: NSArray? //no error
@NSManaged var anotherArray: Array<String>? //no error
Run Code Online (Sandbox Code Playgroud)
Objective-C中可以表示哪些可选类型?当我使用Swift数组或字符串时(以及当我没有使用Optional Int或Double时),为什么不出现错误?
我正在尝试更改Bool属性并收到EXC_BAD_ACCESS错误.
我正在使用XCode 6和Swift.
该note属性保存良好,但completed属性抛出EXC_BAD_ACCESS错误

import Foundation
import CoreData
class Task: NSManagedObject
{
@NSManaged var note: String!
@NSManaged var completed: Bool
}
Run Code Online (Sandbox Code Playgroud)
更改属性例程
// taskObject is an instance of Task()
// Set the completed flag
taskObject.completed = true // EXC_BAD_ACCESS
Run Code Online (Sandbox Code Playgroud)