在我的应用程序中,我有一个UIImageView和一个UIButton。 UIImageView有一个UIPanGestureRecognizer,可以在屏幕上拖动。我写了:
int defaultBallLocation = ball.center;
在我的- (IBAction)saveButton
和Xcode说“无法将CGPoint与int关联”。
那么,如何通过按“保存”在屏幕上保存球(UIImageView)位置,然后通过NSUserDefaults按“加载”加载保存的位置?我以前曾使用NSUserDefaults,但只使用了UISegmentedController。谢谢!
答案 0 :(得分:3)
另一个选项,您可以将其存储为字符串:
NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
// Set
[userDefaults setObject:NSStringFromCGPoint(yourPoint) forKey:@"pointPosition"];
// Save
[userDefaults synchronize];
// Get
CGPoint thePoint = CGPointFromString([userDefaults objectForKey:@"pointPosition"]);
答案 1 :(得分:1)
您正在尝试为int
分配一个CGPoint
结构,这是不可能的。
要将其保存到NSUserDefaults
,您可以执行以下操作:
CGFloat x = ball.center.x;
CGFloat y = ball.center.y;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setFloat:x forKey:@"x"];
[defaults setFloat:y forKey:@"y"];