4
我正在考慮將使用MonoTouch的標準iOS Objective C轉換爲C#的應用程序。在MonoTouch中生成並存儲一個唯一的ID
在我的Objective C代碼中,我生成一個唯一的標識符並將其保存到NSUserDefaults以驗證並檢查後續登錄。這裏是我正在使用的方法:
- (NSString *) localUuid {
NSString * ident = [[NSUserDefaults standardUserDefaults] objectForKey:UUID];
if(!ident){
CFUUIDRef uuidRef = CFUUIDCreate(NULL);
CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef);
CFRelease(uuidRef);
ident = [NSString stringWithString:(__bridge_transfer NSString *)uuidStringRef];
[[NSUserDefaults standardUserDefaults] setObject:ident forKey:UUID];
[[NSUserDefaults standardUserDefaults] synchronize];
}
return ident;
}
我有問題得到類似的工作在C#與MonoTouch雖然。
我還沒有找到Mono提供的CFUUID_ _方法的一個版本。
此外,雖然似乎有一個NSUserDefaults.StandardUserDefaults.SetValueForKey方法,但沒有一個簡單的GetValueForKey方法。
有沒有人更有經驗的Monotouch知道更好的方法來做到這一點?
感謝,將GUID部分的偉大工程,所以我會接受這個作爲答案。但是我從設置中獲取字符串時遇到問題,未設置它們。 – cain
@cain從內存中執行'settings [「key」]'應該返回一個'NSString',你可以在其中調用'.ToString()'來獲得一個C#字符串。 – poupou
從看(而不是內存),你會更好使用'setting.StringForKey(「key」)'。 – poupou