以下代码(Delphi,XE5,IOS)因SIGSEGV(11)异常调用stringforkey而失败。 我能够成功编译和执行示例代码(delphisettings),看起来完全相同。 就在此之前的电话 result:= lDefaults.boolForKey(NSStr(InName)); 工作良好。 我的猜测是由于某些字符串长度错误。
var
lDefaults: NSUserDefaults;
lStr: string;
...
lDefaults := TNSUserDefaults.Wrap(TNSUserDefaults.OCClass.standardUserDefaults);
lStr := UTF8ToString(
lDefaults.stringForKey(NSStr(InName)).UTF8String);
result := UTF8ToString(lStr);
我重新审视了这个例子,有一次我也得到了同样的例外。
我还注意到示例http://cc.embarcadero.com/Item/29400表示其对于delphi< 18.0。 XE5是19.0。
那么有什么可以测试19.0吗?