NSKeyedArchiver/NSuserDefaults - 保存CGRect

Fla*_*la2 8 nsuserdefaults

我的应用程序涉及用户能够拖动特定项目,如音量滑块和UIImage视图.我的目标是能够保存项目的位置,以便用户在重新启动后不必再次拖动项目.不幸的是,我看到了"保存CGRect rect = item.frameNSuserDefaultsNSKeyedArchiver"路线的错误.还有其他建议吗?

Ben*_*ieb 18

您可以使用NSStringFromgCGRect()和CGRectFromString()来存储它们.


Ben*_*tto 11

如果您在iPhone上使用键控存档,UIKit特别支持这样的添加:-encodeCGRect:forKey:并且正是您想要的.有关NSCoder的UIKit添加内容,请参阅Apple文档.

如果你正在使用NSUserDefaults,你不会为CGRects使用显式编码器,但正如其他一些答案所说,你可以将它们保存为字符串使用NSStringFromCGRect()和反向.