2016-03-23 3 views
0

В Swift 2.1 как создать класс, соответствующий протоколу NSCopying?swift - класс NSCopying

Я попытался это:

class TargetValue: NSObject, NSCopying { 

    var value: Int? 

    func copyWithZone(zone: NSZone) -> AnyObject { 
     let copy = TargetValue() 
     copy.value = value 
     return copy 
    } 
} 

var target = TargetValue() 
target.value = 12 

var target1 = target.copy() 
print(target1.value) // ambiguous user of 'value' 

Но я ударил ошибку ambiguous user of value. Что мне делать, чтобы исправить эту проблему?

С уважением

ответ

2

copyWithZone: возвращается AnyObject, так что вы должны бросить копию ожидаемого типа:

var target1 = target.copy() as! TargetValue 
+0

Stupid меня пропустить это! Большое спасибо, Троя – quanguyen

Смежные вопросы