我希望将我的一个应用从标准的iOS Objective C转换为使用MonoTouch的C#。
在我的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;
}
我在使用MonoTouch的C#时遇到了一些问题。
我发现Mono没有提供与CFUUID_方法类似的版本。
此外,虽然有一个NSUserDefaults.StandardUserDefaults.SetValueForKey方法,但没有一个直接的GetValueForKey方法。
有更多经验的Monotouch用户知道更好的解决方法吗?
settings["key"]
应该会返回一个NSString
,你可以在其上调用.ToString()
方法来获取 C# 字符串。 - poupousetting.StringForKey("key")
会更好。 - poupou