2012-07-27 17 views
9

नई Xcode 4.4 बाहर है और यहशाब्दिक @YES आईओएस में काम नहीं कर 5/Xcode 4.4

@42
@"String"
@23.0L
@{ @"key" : obj } और
@[obj1, obj2]

तरह शाब्दिक का समर्थन करना चाहिए और यह होना चाहिए @YES और @NO का भी समर्थन करता है, जो नवीनतम आईओएस 5 (और पूर्व) को लक्षित करते समय काम नहीं कर रहा है। यह त्रुटि संदेश दिखाई संकलन के बाद:

अनपेक्षित प्रकार नाम 'BOOL': उम्मीद अभिव्यक्ति

मुझे पता है तुम @(YES) और @(NO) टाइप करके इसे ठीक कर सकते हैं। लेकिन मैं यह जानना चाहता हूं कि यह उम्मीद के अनुसार क्यों काम नहीं कर रहा है।

उत्तर

24

कारण एप्पल भूल गया यहाँ कोष्ठक है में फाउंडेशन पहले आयात करने के लिए यह सुनिश्चित करना चाहिये iOS 6 एसडीके:

#define YES    ((BOOL)1) 

इस बीच आप @(YES) टाइप करना चाहिए।

+0

यह ध्यान दिया जाना चाहिए कि इसे '#import ' के बाद किया जाना चाहिए - यदि कोई इन # डिफाईन्स को अपने प्रीफिक्स.pch में रखता है, तो उन्हें पहले पीएच में फाउंडेशन आयात करना सुनिश्चित करना चाहिए। –

9

This अक्षरों के बारे में जानकारी के लिए उपयोगी है।

this answer पर एक टिप्पणीकार भी बताते हैं:

एक छोटी सी बात मैं के बारे में चेतावनी देने के लिए करना चाहते हैं नहीं है। इस वजह से शाब्दिक बूल समर्थित नहीं हैं। हालांकि, त्वरित सुधार है कि मैं लागू किया (एक iOS परियोजना में), मेरा हेडर से एक की शुरुआत करने के लिए इस जोड़ने था

#ifndef __IPHONE_6_0 
#if __has_feature(objc_bool) 
#undef YES 
#undef NO 
#define YES __objc_yes 
#define NO __objc_no 
#endif 
#endif 

@ phix23s जवाब बात करने के लिए और अधिक हो रहा है। आपको इसे स्वीकार करना चाहिए।

यह ध्यान दिया जाना चाहिए कि इस #import के बाद किया जाना चाहिए:

इस टिप्पणी से जोड़ने के लायक था।

#define YES    (BOOL)1 

इस में तय किया जाएगा: अपने Prefix.pch में इन #defines डालता है, वे PCH

+0

वह प्रश्न सबस्क्रिप्टिंग का जिक्र कर रहा है, जो केवल आईओएस 6 में उपलब्ध है क्योंकि यह सिंटेक्टिक चीनी से अधिक है। संख्या/बूल/संग्रह अक्षर पिछले संस्करणों में उपलब्ध होना चाहिए – wattson12

+0

हम्म - दिलचस्प - मैंने अपने आईओएस 5.0 प्रोजेक्ट को नए अक्षरों में परिवर्तित कर दिया है, और सब कुछ सबस्क्रिप्टिंग ठीक काम कर रहा है। –

+0

हाँ, ऐसा लगता है कि मैं उस बिट के बारे में गलत था। मैं –

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

  • कोई संबंधित समस्या नहीं^_^