2015-09-24 4 views
5

मैं तेजी में एक प्रोटोकॉल है:नहीं प्रकार या प्रोटोकॉल ज में नाम 'ReformerProtocol' है, लेकिन मीटर ठीक काम करता है

:

import Foundation 

@objc protocol ReformerProtocol { 
    func reformDataWithManager(apiManager: FSAPIClient) -> NSDictionary 
} 

मेरी उद्देश्य सी मीटर में अगर मैं की तरह एक विधि को परिभाषित

- (NSDictionary *)fetchDataWithReformer:(id<ReformerProtocol>)reformer { 
} 

यह ठीक काम करता है, लेकिन अगर मैं ज फाइल में इस प्रणाली की घोषणा:

- (NSDictionary *)fetchDataWithReformer:(id<ReformerProtocol>)reformer; 

त्रुटि है:

No type or protocol named 'ReformerProtocol' 

कारण सुनिश्चित नहीं है।

+0

क्या आपने '-Swift' हेडर आयात किया है? – jtbandes

+0

हाँ, मुझे लगता है कि यही कारण है कि .m फ़ाइल में यह काम करता है। –

उत्तर

20

आपको इसे उपयोग करने से पहले .h फ़ाइल में प्रोटोकॉल को तुरंत घोषित करना चाहिए।

@protocol ReformerProtocol; 
+0

धन्यवाद, यह शर्म की बात है, मैंने '' 'वर्ग '' '' की कोशिश की। यह सुनिश्चित नहीं है कि यह .m फ़ाइल –

+0

में ठीक क्यों काम करता है क्योंकि आपने हेडर आयात किया था। – jtbandes

+1

मैं इसे .pch फ़ाइल में जोड़ता हूं: #import "Probject-Swift.h" यह नहीं होगा। एच फ़ाइल प्रोटोकॉल मौजूद है? –

संबंधित मुद्दे

 संबंधित मुद्दे