2015年10月

JSON

如果 app 需要有网络功能并且有一个后端服务器处理和返回数据的话,那么现在基本上要和 JSON 打交道是没跑儿了的。在 Swift 里处理 JSON 其实是一件挺棘手的事情,因为 Swift 对于类型的要求非常严格,所以在解析完 JSON 之后想要从结果的 AnyObject 中获取某个键值是一件非常麻烦的事情。举个例子,我们使用 NSJSONSerialization 解析完一个 JSO...

memory   2015-10-23  暂无评论

git clone error: RPC failed; result=56, HTTP code = 200 错误解决

git clone 时候报上述错,解决办法如下:git config --global http.postBuffer 524288000(尽量大)http.postBufferMaximum size in bytes of the buffer used by smart HTTP transports when POSTing data to the remote system. Fo...

memory   2015-10-16  暂无评论

数学和数字

Darwin 里的 math.h 定义了很多和数学相关的内容,它在 Swift 中也被进行了 module 映射,因此在 Swift 中我们是可以直接使用的。有了这个保证,我们就不需要担心在进行数学计算的时候会和标准有什么差距。比如,我们可以轻易地使用圆周率来计算周长,也可以使用各种三角函数来完成需要的屏幕位置计算等等:func circlePerimeter(radius: Double)...

memory   2015-10-14  1 条评论

lazy修饰符和lazy方法

延时加载或者说延时初始化是很常用的优化方法,在构建和生成新的对象的时候,内存分配会在运行时耗费不少时间,如果有一些对象的属性和内容非常复杂的话,这个时间更是不可忽略。另外,有些情况下我们并不会立即用到一个对象的所有属性,而默认情况下初始化时,那些在特定环境下不被使用的存储属性,也一样要被初始化和赋值,也是一种浪费。在其他语言 (包括 Objective-C) 中延时加载的情况是很常见的。我们...

memory   2015-10-12  暂无评论

八大排序算法的Python实现

1、插入排序描述插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素...

memory   2015-10-09  1 条评论

mac下无法使用phpmyadmin管理mysql或php无法通过localhost连接数据库解决方法

mysql_connect("localhost","root","12345") or die ("数据库服务器连接失败");// 连接服务器这样不能连接,但127.0.0.1就可以,phpmyadmin默认也不能连接。解决方法极简,不多说。如下:进入mysql目录,找到bin下面的mysql,终端打开,然后输...

memory   2015-10-03  2 条评论

Mac下搭建go语言开发环境

1、安装Golang的SDKhttp://golang.org ,下载最新的安装包,之后双击安装即可。安装完成之后,打开终端,输入go、或者go version(查看安装版本)出现如下信息即表示安装成功:$ go version go version go1.5.1 darwin/amd642、配置环境变量安装完sdk之后接下来便是配置环境变量了,打开终端输入cd ~ 进入用户主目录,之后输...

memory   2015-10-02  3 条评论

swizzle

Swizzle 是 Objective-C 运行时的黑魔法之一。我们可以通过 Swizzle 的手段,在运行时对某些方法的实现进行替换,这是 Objective-C 甚至说 Cocoa 开发中最为华丽,同时也是最为危险的技巧之一。因为 Objective-C 在方法调用时是通过类的 dispatch table 来用 selector 对实现进行查找的,因此我们在运行时如果能够替换掉某个 s...

memory   2015-10-01  暂无评论