{"action":"created","issue":{"url":"https://api.github.com/repos/swifter-tips/Public-Issues/issues/63","repository_url":"https://api.github.com/repos/swifter-tips/Public-Issues","labels_url":"https://api.github.com/repos/swifter-tips/Public-Issues/issues/63/labels{/name}","comments_url":"https://api.github.com/repos/swifter-tips/Public-Issues/issues/63/comments","events_url":"https://api.github.com/repos/swifter-tips/Public-Issues/issues/63/events","html_url":"https://github.com/swifter-tips/Public-Issues/issues/63","id":183463013,"number":63,"title":"一些 Swift 3 后 swifter-tips 的问题","user":{"login":"FrainL","id":15017942,"avatar_url":"https://avatars.githubusercontent.com/u/15017942?v=3","gravatar_id":"","url":"https://api.github.com/users/FrainL","html_url":"https://github.com/FrainL","followers_url":"https://api.github.com/users/FrainL/followers","following_url":"https://api.github.com/users/FrainL/following{/other_user}","gists_url":"https://api.github.com/users/FrainL/gists{/gist_id}","starred_url":"https://api.github.com/users/FrainL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FrainL/subscriptions","organizations_url":"https://api.github.com/users/FrainL/orgs","repos_url":"https://api.github.com/users/FrainL/repos","events_url":"https://api.github.com/users/FrainL/events{/privacy}","received_events_url":"https://api.github.com/users/FrainL/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-10-17T16:23:54Z","updated_at":"2016-10-19T03:13:12Z","closed_at":null,"body":"**p63**  \r\n重载~= 的部分【StringLiteralConvertible 】\r\n应该是 swift 3 的 ExpressibleByStringLiteral\r\n\r\n**p70**\r\n“希望你还记得我们在【对象类型】中所提到的”\r\n对象类型是下文内容，这个表述有一定问题\r\n\r\n**p92 函数部分**\r\n第二段代码部分【CollectType】以及 【map】 \r\n还是 swift 2 的版本，以及 map 函数应该是在 Sequence 中的\r\n\r\n**p142 中注释部分**\r\n“这不是 Swift 的方法，而是本书在【延时调用】一节中实现的一个方法”\r\ndelay 是前文已经使用 GCD 实现的一个方法，这样写是不是有些不太妥当？\r\n\r\n**p182 中的注释部分**\r\n“如果您对参数的默认值的 default 感兴趣的话，可以看看【默认参数】一节的内容，有简单的介绍”\r\n也是表述的问题，默认参数一节已经在 59页 讲过，当然这样说也没有错\r\n\r\n**p198 JSON 部分**\r\n“举个例子，我们使用 【NSJSONSerialization】 解析完一个 JSON 字符串后，得到的是 【AnyObject】”\r\nSwift 3 中是 JSONSerialization 和 Any，代码部分倒是正确的\r\n然后往后的代码中的 as? 这些 casting 改成更加 Swift 化的 [String: Any] 和 [Any] 会不会更好一点？\r\n\r\n**p213 连接部分**\r\n“不妨看看 Objc 中国上的【部分文章】”\r\n拓展连接已经失效了"},"comment":{"url":"https://api.github.com/repos/swifter-tips/Public-Issues/issues/comments/254699325","html_url":"https://github.com/swifter-tips/Public-Issues/issues/63#issuecomment-254699325","issue_url":"https://api.github.com/repos/swifter-tips/Public-Issues/issues/63","id":254699325,"user":{"login":"onevcat","id":1019875,"avatar_url":"https://avatars.githubusercontent.com/u/1019875?v=3","gravatar_id":"","url":"https://api.github.com/users/onevcat","html_url":"https://github.com/onevcat","followers_url":"https://api.github.com/users/onevcat/followers","following_url":"https://api.github.com/users/onevcat/following{/other_user}","gists_url":"https://api.github.com/users/onevcat/gists{/gist_id}","starred_url":"https://api.github.com/users/onevcat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/onevcat/subscriptions","organizations_url":"https://api.github.com/users/onevcat/orgs","repos_url":"https://api.github.com/users/onevcat/repos","events_url":"https://api.github.com/users/onevcat/events{/privacy}","received_events_url":"https://api.github.com/users/onevcat/received_events","type":"User","site_admin":false},"created_at":"2016-10-19T03:13:12Z","updated_at":"2016-10-19T03:13:12Z","body":"相比与 Sequence 的实现，因为 collection 有 non-destructive 和 finite 的保证，要比 Sequence 好一些。其实就像我上面说的，对 Sequence 做 map 并不是一件安全的事情，因为你不能保证 Sequence 在 map 以后原来的 Sequence 还在，而且对于无限的 Sequence 来说 map 直接会尝试获取全部值，而不是以 lazy 的方式使用，这是很致命的，所以其实我个人认为将 map 作为 Sequence 的 extension 不是很明智，至少现在的实现不是是很明智。如果要对一个 Sequence 做 map 的话一定需要慎之又慎。"}}
{"actor":{"display_login":"onevcat"}}