保存坐标或更新帧

Save coordinate or update frames

我正在制作一个应用程序,它使用 gestureRecognizer 通过触摸拖放一些 view。但是新闻位置没有保存,我真的不知道怎么弄。
首先,我用这个 gestureRcognizer 来移动我的 view:

func glisserDeposerNote(sender : UIPanGestureRecognizer) {
    let note1 = sender.view!
    let touchCoordinates = sender.locationInView(self.scrollview)
    note1.center = touchCoordinates
    self.viewnote1.translatesAutoresizingMaskIntoConstraints = true
}

其次,我尝试将 CGPoint 转换为 NSData,但之后我不知道如何保存它:

let points = touchCoordinates
let pointObj = NSValue(CGPoint: points)
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(pointObj, forKey: "coord1")

但是当我尝试移动视图时这会导致崩溃。我注意到这是因为 defaults.setObject... 但我真的不知道为什么。

用户默认值似乎不支持 CGPoint 值。尝试将其转换为字符串,然后再返回。你有这些工具。示例:

let pointValue = NSStringFromCGPoint(CGPoint(x: 0.1, y: 1.0))
NSUserDefaults.standardUserDefaults().setValue(pointValue, forKey: "coord1")
let point = CGPointFromString(NSUserDefaults.standardUserDefaults().valueForKey("coord1") as! String)

我终于发现:

所以我必须使用override func viewDidLayoutSubviews()