1

在我的应用程序中,我有一个 UIImageView 和一个 UIButton。UIImageView 有一个 UIPanGestureRecognizer,可以在屏幕上拖动。我已经写了:

int defaultBallLocation = ball.center; 在我的- (IBAction)saveButton

Xcode 说“不能将 CGPoint 与 int 关联”。

那么,如何通过按“保存”将球(UIImageView)位置保存在屏幕上,然后通过 NSUserDefaults 按“加载”加载保存的位置?我之前使用过 NSUserDefaults,但只使用了 UISegmentedController。谢谢!

4

2 回答 2

3

另一种选择,您可以将其存储为字符串:

NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
// Set
[userDefaults setObject:NSStringFromCGPoint(yourPoint) forKey:@"pointPosition"];
// Save
[userDefaults synchronize];
// Get
CGPoint thePoint = CGPointFromString([userDefaults objectForKey:@"pointPosition"]);
于 2013-06-30T02:55:12.430 回答
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"];
于 2013-06-29T19:27:45.610 回答