在swift中将NS的NSManagedObject属性从Bool转换为Bool

时间:2015-09-22 22:52:06

标签: xcode swift xcode6

我知道这个问题已被多次提出,但解决方案并没有与我合作。我有以下NSManaged对象类:

@NSManaged var cellColor: AnyObject
@NSManaged var des: String
@NSManaged var name: String
@NSManaged var switcher: NSNumber

当在加载托管对象时尝试将此值作为bool分配给var时,我收到错误。这是将值赋值给var:

的示例
func loadData(){
var appDel = UIApplication.sharedApplication().delegate as AppDelegate
var context = appDel.managedObjectContext!
var request = NSFetchRequest(entityName: "Row")
var result:NSArray = context.executeFetchRequest(request, error: nil)!
if result.count > 0 {
    for i in result{

        var name = i.name as String
        var des = i.des as String
        var color = i.cellColor as UIColor
        var switcher:Bool{
            get{

            return i.switcher == NSNumber(bool: true) 
            //the problem    happens here

然而,当我以这种方式尝试一个简单的铸造示例时,它运作良好。

如何解决?

1 个答案:

答案 0 :(得分:0)

我认为就像这样:

for i in results {
    var name = i.name as String
    var des = i.des as String
    var color = i.cellColor as UIColor
    var switcher: Bool {
        return Bool(i.switcher)
    }
}
但是,没有测试过。