- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Xamarin 中构建今日小部件。在模拟器中一切正常,但是当我在真实设备上运行它时,我的小部件崩溃并出现以下异常:
object reference not set to an instance of an object.
我的代码是:
var defs = new NSUserDefaults("group.com.gto.extension", NSUserDefaultsType.SuiteName);
defs.Synchronize();
var equities = defs.ValueForKey(new NSString("key1"));--> this row crashes my widget.
最佳答案
尝试访问单个应用程序或一组应用程序的 NSUserDefaults
之间存在差异。后者是您当前正在努力实现的目标。我将尝试在这个答案中总结这两种策略之间的区别。
我假设您正在尝试从您制作的另一个应用程序或扩展中读取 NSUserDefaults
中的条目?只有在这种情况下,使用给定的 NSUserDefaults
才是明智的。如果是这样,您需要确保以下几点:
First, you will need to ensure that the App Group and the required App IDs have been properly configured in the Certificates, Identifiers & Profiles section on iOS Dev Center and have been installed on in the development environment.
Next, your App and/or Extension projects will need to be one of the valid App IDs created above, that the Entitlements.plist file has the App Groups enabled and specified and that it get's included in the App Bundle.
With this all in place, the shared App Group user Defaults can be accessed [...]
上述两点可能是您的应用程序崩溃的原因。
另一方面,如果您只需要从当前应用程序的 NSUserDefaults
访问一个值,您可以简单地执行以下操作:
var defs = NSUserDefaults.StandardUserDefaults;
从 NSUserDefaults
中读取值,如 guide 中所示和 documentation ,您应该执行以下操作:
var boolForKey = defs.BoolForKey("key");
var stringForKey = defs.StringForKey("key");
....
其中 “key”
参数是您之前存储在 NSUserDefaults
字典中的 value
的 key
。
在 try/catch 中包围任何从 NSUserDefaults
检索值的调用也很可能是明智的。 key
可能还不存在于 NSUserDefaults
中,这很可能是您遇到的问题。
关于ios - 对象引用未设置为 xamarin ios 应用程序组中对象的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41321653/
我是一名优秀的程序员,十分优秀!