2015-11-17 22 views
5
hızlı

yılında objectivec protokolünü uygulamak: Ben hızlı bu yöntemi yazdım : Ben hızlı içinde Objective-C bu seçmeli protokol yöntemi uygulamak çalışıyorum

- (void)customHTTPProtocol:(CustomHTTPProtocol *)protocol logWithFormat: 
(NSString *)format arguments:(va_list)arguments; 

(https://developer.apple.com/library/ios/samplecode/CustomHTTPProtocol/Introduction/Intro.html cfr):

func customHTTPProtocol(`protocol`: CustomHTTPProtocol!, logWithFormat format: String!, arguments: CVaListPointer) { 
} 

o opsiyonel gereksinimi karşılamak yapamadığını söylüyor ve yönteminden önce bir @objc eklemek önerir, ancak bunun @objc eklerseniz (CVaListPointer Objective-C temsil edilemez)

hata veriyor

sorun bu test başarısız olmasıdır:

if ([strongDelegate respondsToSelector:@selector(customHTTPProtocol:logWithFormat:arguments:)]) { 

ve o zaman içine alma amacı-c sınıf var hızlı sınıfta amaç-c @protocol kullanmak istiyorsanız hızlı yöntem

cevap

0

çağrılmaz senin Hızlı projenizde objektif-c dosyası kullandığınızda XCode tarafından oluşturulan Bridging-Header dosyası. Öyleyse açıkça kullanmak zorunda olduğunuz hızlı dosyaya delegeyi eklemeniz gerekir. Bu dosyada

class classname : baseClass<yourDelegate> { 

} 

ilk Gerekli tüm temsilci yöntemleri ekleyin ve ardından kullanmak zorunda isteğe bağlı yöntemi eklemek gerekir. Gerekli delege yöntemini eklemezseniz, o zaman size hata verir.

Ancak o zaman adından önce @objc eklemek ve objektif-c dosyasına hızlı dosya almak zorunda objektif-c'ye hızlı gelen kullanmak istiyorsanız, ayrıca,

böyle dersten önce @objc eklemek var
@objc protocol DelegateName { 
    //declare your required and optional delegate method here 
} 

@objc classname : baseClass<yourDelegate> { 

} 

Ve sonra bu gibi objektif-c dosya halinde hızlı sınıfını içe,

#import <PROJ_NAME/PROJ_DIR-Swift.h> 

Ve önemli şey eklemek:

classObj.delegate = self 
+0

Bu zaten yapıldı, protokol yönteminin isteğe bağlı olması ve (va_list) yanlış yazılmış olması nedeniyle başka bir sorunum var. – atrebbi

İlgili konular