1 2 3 4 5 ··· 9 下一页
摘要: //判断插入一个值后当前是否还是BST public func isBST(min:T, max:T) -> Bool { if value < min || value > max { return false } let leftBST = self.leftChild?.isBST(min: 阅读全文
posted @ 2018-03-08 17:06 ShellHan 阅读(125) 评论(0) 推荐(0) 编辑
摘要: Type Constraint <T: Comparable> array.sorted() <Element: Equatable> array.contains{$0 != first} structures functions e.g.1 e.g.2 protocols enum 阅读全文
posted @ 2018-03-07 14:34 ShellHan 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 检测循环引用 在运行时点击 如果有内存泄漏的问题,在左侧列表会出现如下 然后点击出问题的会出现如下图,一个Contact类的对象和一个Number类的对象循环引用 Swift 对象的生命周期 allocation: 分配内存 initialization: 初始化 使用 deinitializati 阅读全文
posted @ 2018-03-07 11:29 ShellHan 阅读(294) 评论(0) 推荐(0) 编辑
摘要: structure 1. memberwise initializer 1.1 不需要default values和intializer 1.2 使用memberwise initializer注意参数的顺序,memberwise initializer的参数列表是自动镜像存储属性列表的,举例: 1 阅读全文
posted @ 2018-03-06 13:47 ShellHan 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 1. 使用failable initializers 2. 抛出异常并处理 阅读全文
posted @ 2018-03-06 10:10 ShellHan 阅读(428) 评论(0) 推荐(0) 编辑
摘要: Swift的switch使用 ~= 操作符进行模式匹配,case A, A是~=操作符的左参数,switch B, B是~=操作符的右参数。swift隐式调用 ~=操作符。 所以自定义模式匹配的方法如下: e.g.1 e.g.2 http://swifter.tips/pattern-match/ 阅读全文
posted @ 2018-03-05 16:24 ShellHan 阅读(475) 评论(0) 推荐(0) 编辑
摘要: API更改键的名称,如 "id" 改为 "employeeID",解决方法: 说明: 阅读全文
posted @ 2018-03-05 11:22 ShellHan 阅读(495) 评论(0) 推荐(0) 编辑
摘要: jsonData: Optional(54 bytes) jsonString: Optional("{\"name\":\"EmployA\",\"id\":1,\"mToy\":{\"name\":\"Teddy Bear\"}}") EmployA(1): Teddy Bear 假设,现在后台 阅读全文
posted @ 2018-03-05 11:02 ShellHan 阅读(682) 评论(0) 推荐(1) 编辑
摘要: url.absoluteString 返回的路径名会有url scheme(file://), 所以在创建,删除,查找文件或文件夹时要用url.path。 相对的, 用String初始化一个URL,如果用来初始化的string有url scheme (file://),使用URL(string:)来 阅读全文
posted @ 2018-02-26 16:31 ShellHan 阅读(1373) 评论(0) 推荐(0) 编辑
摘要: //检查是否是小写字母 let word = "Word" let interval = "a"..."z" for a in word.characters { if !interval.contains(String(a)) { print("\(a) 非小写字母") } } 阅读全文
posted @ 2018-02-24 15:58 ShellHan 阅读(287) 评论(0) 推荐(0) 编辑
1 2 3 4 5 ··· 9 下一页