2014-06-10 29 views
8

Objective-C'den Swift'e çalışan bazı kodları dönüştürmeye çalışıyorum. İçinde bulunduğum sorun şu ki, needsDisplayForKey/actionForKey aynı şekilde çağrılmıyor. Anlatabildiğim kadarıyla, özel anahtar değerleri doğru bir şekilde geçmiyor. Bunu hata ayıklama zaman İşte ne alıyorum:gereksinimleriDisplayForKey/actionForKey düzgün çalışmayı geçersiz kılar?

varsayılan değer:

(String!) event = { 
    core = { 
    _baseAddress = Builtin.RawPointer = 0x00feee51 "onOrderIn" 
    _countAndFlags = 1073741833 
    _owner = Some { 
     Some = (instance_type = Builtin.RawPointer = 0x01026348 @"onOrderIn") 
    } 
    } 
} 

özel değerinin (geçirilen boş dize):

(String!) event = { 
    core = { 
    _baseAddress = Builtin.RawPointer = 0x0b418f79 
    _countAndFlags = 1073741833 
    _owner = Some { 
     Some = (instance_type = Builtin.RawPointer = 0x0b418f70 -> 0x006e38f0 (void *)0x006e38c8: __NSCFString) 
    } 
    } 
} 

ne alakalı kod olabilir emin değilim olmak. Sadece soracağım - Swift'de özel bir örtülü animasyon tanımlayabilen başka biri var mı? Objektif C'den geçerken aklımda tutulması gereken bir şey var mı?

override class func needsDisplayForKey(key: String!) -> Bool{ 
    if key == "angleFrom" || key == "angleTo" { 
     return true; 
    } 
    return super.needsDisplayForKey(key) 
} 

override func actionForKey(event: String!) -> CAAction!{ 
    if event == "angleFrom" || event == "angleTo" { 
     return self.makeAnimationForKey(event) 
    } 
    return super.actionForKey(event) 
} 
+0

Bu dinamik özelliklerinin benziyor önünde kullanarak @NSManaged özniteliği tarafından Swift çalışan bu olmayabilir var Henüz Swift'de çalışıyorum, en azından Objective-C'ye bağlanmadan http://stackoverflow.com/questions/24015185/generating-swift-models-from-core-data-entities – user3320597

cevap

13

I (Objective-C @dynamic özelliğini kullanırsınız) değişken bildiriminde

+0

Teşekkürler, bu benim için çalıştı. Sorguda açıklandığı gibi geçersiz kılmaları kullandım ve özel mülkümün (anahtarın) @NSManaged olmasını sağladım. –

+0

evet, yani, '@ NSManaged', Objective-C çağrılarının ne anlama geldiğini üretmesi nedeniyle' dinamik 'özelliği üretiyor, ayarlama ve alma değerleri KVO ile çalışma zamanında ele alınacak ve bu özellik tam olarak CoreGraphics özelliklerinin aynısıdır. , ayrıca! –

İlgili konular