2014-06-26 7 views
204

से iOS पर एक UUID उत्पन्न अपने iOS स्विफ्ट ऐप्लिकेशन में मैं यादृच्छिक UUID (GUID) एक मेज कुंजी के रूप में उपयोग हेतु तार, उत्पन्न करना चाहते हैं और इस स्निपेट प्रकट होता है काम करने के लिए:स्विफ्ट

let uuid = CFUUIDCreateString(nil, CFUUIDCreate(nil)) 

क्या यह सुरक्षित है?

या शायद एक बेहतर (अनुशंसित) दृष्टिकोण है?

let uuid = NSUUID() 

आप स्ट्रिंग मान वापस बाहर निकलने के लिए चाहते हैं, आप uuid.UUIDString उपयोग कर सकते हैं:

+1

यह सुरक्षित क्यों नहीं होगा? – holex

+5

आप यूयूआईडी = NSUUID.UUID() को भी उपयोग कर सकते हैं। UUIDString –

+0

http://stackoverflow.com/questions/3773776/corefoundation-vs-foundation –

उत्तर

435

प्रयास करें यह एक:

let uuid = NSUUID().UUIDString 
print(uuid) 

स्विफ्ट 3

let uuid = UUID().uuidString 
print(uuid) 
+6

एक्सकोड 6.1 में, मुझे यह त्रुटि मिली: 'यूयूआईडी()' अपरिहार्य है: ऑब्जेक्ट निर्माण 'NSUUID()' का उपयोग करें। हमें इसे NSUUID() में बदलना चाहिए। UUIDString – ohyes

+0

पूर्ण हो गया - NSUUID() को सही ढंग से दिखाने के लिए अद्यतन उत्तर। UUIDString – Lee

+0

उपर्युक्त सुझाव 'NSUUID.init()। UUIDString' को कॉल करने से अलग नहीं है, है ना? –

25

आप, साथ ही NSUUID एपीआई का उपयोग कर सकते हैं।

ध्यान दें कि NSUUID आईओएस 6 और ऊपर से उपलब्ध है।

3

इसके अलावा आप इसे नीचे

let uuid = NSUUID().UUIDString.lowercaseString 
print(uuid) 

आउटपुट

के तहत lowercase का उपयोग

68b696d7-320b-4402-a412-d9cee10fc6a3

धन्यवाद!

+1

धन्यवाद। अब यह' NSUUID() है .uuidString.lowercased() ' –

10

स्विफ्ट 3 के लिए, कई Foundation प्रकारों ने 'एनएस' उपसर्ग को छोड़ दिया है, इसलिए आप इसे UUID().uuidString तक एक्सेस करेंगे।

3

स्विफ्ट 4;

let uuid = NSUUID().uuidString.lowercased()