0

[[NSUUID UUID] UUIDString] が常に nil を返すという問題があります

iOS9を使用しています。この呼び出しは常に「nil」を返します。何が間違っていますか?

NSUUID *uuid = [NSUUID UUID];
NSString *uuidString = [uuid UUIDString];
if(uuidString == nil) uuidString =[[NSUUID UUID] UUIDString];
if(uuidString == nil) return;

私は両方の方法で試しましたが、常にゼロです。

ブレークポイントが設定されたコードの情報アイコンには、次のメッセージが表示されます。

(NSUUID *) uuid = no location, value may have been optimized out
4

2 に答える 2

0

これは機能します。必要なのは、非同期メッセージを短期間で管理するための確実に一意の文字列だけです。アプリの新しいバージョンをリリースする前に最終テストを行う準備ができたら、後で Xcode を再インストールします。

- (NSString *)getUUID
{
    NSMutableString *randomString = [NSMutableString stringWithCapacity: gf_uuidLen];
    NSString *chars = [NSString stringWithFormat:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"];
    for (int i=0; i<gf_uuidLen; i++) {
        [randomString appendFormat: @"%C", [chars characterAtIndex: arc4random_uniform((unsigned int)[chars length])]];
    }
    return randomString;
}
于 2015-10-03T19:40:31.863 に答える