NSUserDefaults – 保存UIImageView位置
在我的应用程序中,我有一个UIImageView和一个UIButton。 UIImageView有一个UIPanGestureRecognizer,可以在屏幕上拖动。 我已经写了:
int defaultBallLocation = ball.center;
在我的- (IBAction)saveButton
和Xcode说“不能将CGPoint与int关联”。
那么,怎样才能通过按“保存”在屏幕上保存球(UIImageView)的位置,然后通过NSUserDefaults按“加载”加载保存的位置? 我以前曾经使用过NSUserDefaults,但只能使用UISegmentedController。 谢谢!
另一个选项,你可以把它存储为string:
NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults]; // Set [userDefaults setObject:NSStringFromCGPoint(yourPoint) forKey:@"pointPosition"]; // Save [userDefaults synchronize]; // Get CGPoint thePoint = CGPointFromString([userDefaults objectForKey:@"pointPosition"]);
你正试图用一个CGPoint
结构来分配一个int
,这是不可能的。
要保存到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"];