سؤال

هل هناك المدمج في وظيفة أي ما يعادل في صافي

Guid.NewGuid();

وفي الكاكاو؟

ورغبتي هي لإنتاج سلسلة على غرار 550e8400-e29b-41d4-a716-446655440000 الذي يمثل معرف فريد.

هل كانت مفيدة؟

المحلول

يتم التعامل مع

UUIDs في مؤسسة كور، من قبل مكتبة CFUUID. وظيفة كنت تبحث عن هو <وأ href = "http://Developer.Apple.Com/documentation/CoreFoundation/Reference/CFUUIDRef/Reference/reference.html#//apple_ref/c/func/CFUUIDCreate" يختلط = "noreferrer "> CFUUIDCreate .

وFYI لمزيد من البحث: هذه هي الأكثر شيوعا المعروفة باسم UUIDs، لا يتم استخدام مصطلح GUID في كثير من الأحيان خارج العالم مايكروسوفت. قد يكون لديك أكثر حظا مع أن مصطلح البحث.

نصائح أخرى

وبعض كود:

لوUUID سلسلة، وأسلوب فئة التالي ينبغي أن تفعل خدعة:

+(NSString*)UUIDString {
    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    CFStringRef string = CFUUIDCreateString(NULL, theUUID);
    CFRelease(theUUID);
    return [(NSString *)string autorelease];
}

وإذا كنت تريد حقا بايت (وليس سلسلة):

+(CFUUIDBytes)UUIDBytes {
    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    CFUUIDBytes bytes = CFUUIDGetUUIDBytes(theUUID);
    CFRelease(theUUID);
    return bytes;
}

وحيث CFUUIDBytes هو <وأ href = "http://developer.apple.com/documentation/CoreFoundation/Reference/CFUUIDRef/Reference/reference.html#//apple_ref/doc/c_ref/CFUUIDBytes" يختلط = "noreferrer "> البنية من البايتات UUID.

وعلى الأقل على ماكوسكس 10.5.x قد تستخدم أداة سطر الأوامر "uuidgen" للحصول على سلسلة الخاص بك  منها مثلا.

و$ uuidgen

و054209C4-3873-4679-8104-3C18AE780512

وهناك أيضا خيار -hdr مع هذا COMAND الذي يولد مريح في نمط رأس

وانظر الرجل الصفحات لمزيد من بقية المقال.

وأو هناك أداة سطر الأوامر uuidgen.

ومنذ 10.8 هل يمكن أيضا استخدام: NSString * uuidString = [[NSUUID UUID] UUIDString]؛

ومنذ 10.3 أو نحو ذلك، يمكنك استخدام <لأ href = "https://developer.apple.com/library/mac/documentation/cocoa/reference/Foundation/Classes/NSProcessInfo_Class/Reference/Reference.html#// apple_ref / أورينت / instm / NSProcessInfo / globallyUniqueString "يختلط =" نوفولو noreferrer "> [[NSProcessInfo processInfo] globallyUniqueString] . ومع ذلك، في حين أن هذا <م> حاليا يولد UUID، فإنه لم تم ولا يزال غير مضمون للقيام بذلك، لذلك إذا كنت حقا بحاجة الى <م> UUID وليس فقط أي سلسلة فريدة من نوعها ، يجب عليك استخدام CFUUID.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top