没想到的iOS

2020-02-15  本文已影响0人  简化

记录因为 不了解 造成的 误解

1.遍历NSDictionary

        for (id key in self.Dic) {
        }

这里的key 类型是 NSString,也就是你的key的类型。那么想要得到value 使用 [self.Dic valueForKey:key] ,而不是将 key 当作是独立小字典<key,value>来使用

2.Swift String 获取Double值

    (swiftTypeString as NSString).doubleValue

3.给自定义的class 能够print

class myNode{
    var value:Int
    var next:myNode?
    
    init(value:Int,next:myNode?) {
        self.value = value
        self.next = next
    }
    
}
extension myNode: CustomStringConvertible {
    var description: String {
        guard let next = next else { return "\(value)" }
        return "\(value) -> \(String(describing: next)) "
    }
}

4.递归添加 二叉搜索树 Node

extension BinarySearchTree {
    mutating func insert(_ value: Element) {
        root = insert(from: root, value: value)
    }
    
    private func insert(from node: BinaryTreeNode<Element>?,
                        value: Element) -> BinaryTreeNode<Element> {
        guard let node = node else {
            return BinaryTreeNode(value)
        }
        if value < node.value {
            node.leftChild = insert(from: node.leftChild, value: value)
        } else {
            node.rightChild = insert(from: node.rightChild, value: value)
        }
        return node
    }
}
上一篇 下一篇

猜你喜欢

热点阅读