में सी स्टाइल हस्ताक्षरित चार सरणी और बिटवाई ऑपरेटरों का उपयोग करके मैं कुछ उद्देश्य-सी कोड को स्विफ्ट पर बदलने पर काम कर रहा हूं, और मैं अपने जीवन के बारे में नहीं समझ सकता कि कैसे हस्ताक्षरित चार सरणी और बिटवाई ऑपरेशंस का ख्याल रखना है कोड के इस विशिष्ट उदाहरण में।स्विफ्ट
विशेष रूप से, मैं स्विफ्ट के लिए निम्न ऑब्जेक्टिव-सी कोड (जो CoreBluetooth के साथ संबंधित) में परिवर्तित करने पर काम कर रहा हूँ:
var advertisementBytes: CMutablePointer<CUnsignedChar>
self.proximityUUID.getUUIDBytes(advertisementBytes)
advertisementBytes[16] = (CUnsignedChar)(self.major >> 8)
:
unsigned char advertisementBytes[21] = {0};
[self.proximityUUID getUUIDBytes:(unsigned char *)&advertisementBytes];
advertisementBytes[16] = (unsigned char)(self.major >> 8);
advertisementBytes[17] = (unsigned char)(self.major & 255);
मैं स्विफ्ट में निम्नलिखित की कोशिश की है जिन समस्याओं में मैं चल रहा हूं वे हैं कि स्विफ्ट में getUUIDBytes केवल CMutablePointer<CUnsignedChar>
ऑब्जेक्ट को CUnsignedChars की सरणी के बजाय तर्क के रूप में लेते हैं, इसलिए मुझे नहीं पता कि विज्ञापन बाइट्स पर बाद के बिटवाई ऑपरेशंस कैसे करें, जैसा कि ऐसा लगता है एक हस्ताक्षरित होने की आवश्यकता है ऐसा करने के लिए ar सरणी।
इसके अतिरिक्त, CMutablePointer<CUnsignedChar[21]>
एक त्रुटि फेंकता है कि स्विफ्ट में सीएमयूटेबल पॉइंटर्स में निश्चित लंबाई सरणी समर्थित नहीं हैं।
क्या कोई भी संभावित कार्य-आसपास या समाधान पर सलाह दे सकता है? बहुत धन्यवाद।
आप 'ऑब्जेक्टिव-C' शामिल किया जा सका हो जाता है संस्करण भी? –