JavaのようにObjectiveCでUUIDを取得する方法UUIDは、128ビット値を表す一意の乱数を生成するために使用されます。
質問する
83291 次
7 に答える
175
試す:
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とフリーダイヤルでブリッジされていません。必要に応じて、UUID文字列を使用してCFUUIDとNSUUIDの間で変換します。2つのNSUUIDオブジェクトは、ポインター値によって比較可能であることが保証されていません(CFUUIDRefのように)。isEqual:を使用して、2つのNSUUIDインスタンスを比較します。
于 2013-01-16T06:21:23.617 に答える
10
Raptorの答えの迅速なバージョン:
let uuid = NSUUID().UUIDString
于 2015-10-08T23:29:35.833 に答える
6
+ (NSString *)uniqueFileName
{
CFUUIDRef theUniqueString = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUniqueString);
CFRelease(theUniqueString);
return [(NSString *)string autorelease];
}
于 2013-01-16T06:21:39.513 に答える
3
-(NSString*) myUUID()
{
CFUUIDRef newUniqueID = CFUUIDCreate(kCFAllocatorDefault);
CFStringRef newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID);
NSString *guid = (__bridge NSString *)newUniqueIDString;
CFRelease(newUniqueIDString);
CFRelease(newUniqueID);
return([guid lowercaseString]);
}
于 2013-01-16T06:30:51.427 に答える
1
iOS 5以前のバージョンではCFUUIDを使用でき、iOS 6および7ではNSUUIDを使用できます。より安全にするために、UUIDをキーチェーンに保存できます。
于 2013-08-06T19:19:06.077 に答える
0
- (NSString*)generateGUID{
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
return [NSString stringWithFormat:@"%@", string];
}
于 2017-01-30T13:56:53.213 に答える
-2
Swift 5.0の場合、これを使用します。
let uuidRef = CFUUIDCreate(nil)
let uuidStringRef = CFUUIDCreateString(nil, uuidRef)
let uuid = uuidStringRef as String? ?? ""
于 2020-05-11T10:55:31.693 に答える