如何在swift中添加和检索CGpoint值到NSmutable字典中

时间:2016-07-20 10:15:06

标签: swift

这是我的代码

let point: CGPoint = CGPoint(x:10,y:10) let ns = NSValue(CGPoint: point) 
let dict:NSMutableDictionary = ["point":"\(ns)"] 
let getVal:CGPoint = (dict["point"] as? NSValue)!.CGPointValue()

3 个答案:

答案 0 :(得分:0)

也许是这样的

        let point = CGPoint(x:10,y:10)
        let point2 = NSPoint(x:20,y:10)
        var dict = [String : NSPoint ]()
        dict["point"] = point
        dict["point2"] = point2
        print(dict["point"])
        print(dict["point2"])

您可以在swift中交替使用CGPoint和NSPoint(NSPoint仅在OSO指出时为OSX)

答案 1 :(得分:0)

使用Swift Dictionary而不是NSMutableDictionary会更好。但如果您有某些原因需要使用NSMutableDictionary,则可以将CGPoint存储在这样的NSMutableDictionary中。

let point: CGPoint = CGPoint(x:10, y:10)
let ns = NSValue(CGPoint: point)
let dict:NSMutableDictionary = ["point": ns] //<- You should not use `"\(ns)"` hear!
if let val = dict["point"] as? NSValue {
    let cgPointVal = val.CGPointValue()
    print(cgPointVal) //->(10.0, 10.0)
}

答案 2 :(得分:0)

- (void)tableView:(UITableView *)tableView didUnhighlightRowAtIndexPath:(NSIndexPath *)indexPath