मैं थोड़ा अटकलें हूँ, लेकिन कारण यह है कि ऑब्जेक्टिव-सी वस्तुओं NSString
की तरह स्थिर आवंटित नहीं किया जा सकता हो रहा है (उदाहरण के लिए Are objects in Objective-C ever created on the stack? देखें)। यदि
typedef NSString VMVideoCategoryType;
स्विफ्ट में आयात किया गया है तो आप एक स्थानीय चर
var foo : VMVideoCategoryType
जो एक NSString
और नहींNSString
के लिए सूचक होगा की घोषणा कर सकता है।
ध्यान दें कि स्विफ्ट में आप जो देखते हैं NSString
NSString *
उद्देश्य-सी में मेल खाता है।
आप NSString *
के लिए एक typedef के रूप में VMVideoCategoryType
को परिभाषित तो यह स्विफ्ट में दिख रहा है:
typedef NSString * VMVideoCategoryType;
extern VMVideoCategoryType const VMVideoCategoryType_MusicVideo;
// ...
स्रोत
2015-06-29 21:29:21
यह स्विफ्ट त्रुटियों की है कि प्रकार का उपयोग Obj सी में मेरे पिछले प्रकार घोषणाओं छुटकारा लेकिन तब के लिए काम करता है त्रुटियों को फेंक दें: 'एक अप्रत्यक्ष सूचक को एक उद्देश्य-सी सूचक' को 'एनएसएसटींग *' में लागू करने के लिए एआरसी ' – Ramsel
@ रैमसेल से अस्वीकृत है: उस परिवर्तन के बाद आपको 'VMVideoCategoryType *' द्वारा 'VMVideoCategoryType *' को प्रतिस्थापित करना होगा (जैसा कि मैंने किया था बाहरी परिभाषाएं)। –
@ रैमसेल: अगर इससे मदद नहीं मिलती है, तो कृपया उद्देश्य-सी कोड जोड़ें जिससे समस्या आपके प्रश्न में आती है। –