我想知道指南的用途:
1 - 我多久可以从NSUserDefaults中读取
2 - 我可以在NSUserDefaults中合理存储多少数据
显然,NSUserDefaults可以使用多少是有限的,但我无法确定什么是合理的,什么不是.
其中一些例子:
如果我的游戏有一个选项让计算机成为其中一个玩家,我将使用NSUserDefaults来保存该布尔值.这很清楚.但是,每当我想知道计算机是否是一个播放器或我是否应该使用实例变量时,在我的游戏中访问NSUserDefaults也是合理的吗?假设我需要每秒检查一次布尔值.答案是否相同是100毫秒而不是?每10秒钟一次呢?
如果我的游戏有50个移动物体,并且我希望在用户退出应用程序时存储它们的位置和速度,那么NSUserDefaults是一个存储该数据的合理位置吗?20个移动物体怎么样?200怎么样?
在Lion中,窗口的标准调整大小方法从右下角变为所有边,并且有一个不可见的区域可以单击并拖动.我有一个自定义的无边框窗口,类似于App Store,我希望在其中有这个调整大小的行为(目前,我在右下角有一个自定义的缩放器视图).我在NSWindow
文档中搜索了"10.7" ,但是没有新的消息似乎提示启用此方法.
谢谢.
我将使用JavaScript中的示例来帮助澄清我的问题.我们假设我有以下对象:
sports = {
soccer: {...},
basketball: {...},
baseball: {...}
}
Run Code Online (Sandbox Code Playgroud)
如果在我的脚本中的某个时刻我有一个变量sportString,它只是一个字符串,我可以通过以下方式动态调用其中一个运动对象:
sports[sportString];
Run Code Online (Sandbox Code Playgroud)
这使我不必使用一堆嵌套的if语句,测试字符串的值,例如:
if(sportString === 'soccer'){
sports.soccer;
}else if(sportString === 'basketball){....
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是如果sportString是一个NSString对象,如何在Objective-C中完成类似于sports [sportString]的东西呢?