UUID को वस्तुनिष्ठ c में कैसे प्राप्त करें, जैसे कि Java UUID का उपयोग अद्वितीय यादृच्छिक संख्या उत्पन्न करने के लिए किया जाता है जो 128 बिट मान का प्रतिनिधित्व करता है।
जवाबों:
प्रयत्न:
CFUUIDRef udid = CFUUIDCreate(NULL);
NSString *udidString = (NSString *) CFUUIDCreateString(NULL, udid);
अपडेट करें:
IOS 6 के रूप में, UUID उत्पन्न करने का एक आसान तरीका है । और हमेशा की तरह, इसे करने के कई तरीके हैं:
UUID स्ट्रिंग बनाएं:
NSString *uuid = [[NSUUID UUID] UUIDString];
UUID बनाएं:
[NSUUID UUID]; // which is the same as..
[[NSUUID] alloc] init];
एक प्रकार की वस्तु बनाता है NSConcreteUUIDऔर इसे आसानी से डाला जा सकता है NSString, और इस तरह दिखता है:BE5BA3D0-971C-4418-9ECF-E2D1ABCB66BE
दस्तावेज़ से नोट:
नोट: NSUUID क्लास को CoreFoundation के CFUUIDRef के साथ टोल-फ्री नहीं किया गया है। जरूरत पड़ने पर CFUUID और NSUUID के बीच कनवर्ट करने के लिए UUID स्ट्रिंग्स का उपयोग करें। दो NSUUID ऑब्जेक्ट्स को पॉइंटर वैल्यू (CFUUIDRef के रूप में) से तुलनीय होने की गारंटी नहीं है; उपयोग isEqual: दो NSUUID उदाहरणों की तुलना करने के लिए।
CFUUIDRef udidशायद CFUUIDRef uuidUUID (
रैप्टर के उत्तर का स्विफ्ट संस्करण :
let uuid = NSUUID().UUIDString
+ (NSString *)uniqueFileName
{
CFUUIDRef theUniqueString = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUniqueString);
CFRelease(theUniqueString);
return [(NSString *)string autorelease];
}
-(NSString*) myUUID()
{
CFUUIDRef newUniqueID = CFUUIDCreate(kCFAllocatorDefault);
CFStringRef newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID);
NSString *guid = (__bridge NSString *)newUniqueIDString;
CFRelease(newUniqueIDString);
CFRelease(newUniqueID);
return([guid lowercaseString]);
}
आप iOS 5 या निचले संस्करण के लिए CFUUID और iOS 6 और 7. के लिए NSUUID का उपयोग कर सकते हैं। इसे और अधिक सुरक्षित बनाने के लिए आप अपने UUID को किचेन में स्टोर कर सकते हैं।
- (NSString*)generateGUID{
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
return [NSString stringWithFormat:@"%@", string];
}
स्विफ्ट 5.0 के लिए, इसका उपयोग करें,
let uuidRef = CFUUIDCreate(nil)
let uuidStringRef = CFUUIDCreateString(nil, uuidRef)
let uuid = uuidStringRef as String? ?? ""