一切皆为对象。

其实有很多种方式你可以在面向过程和面向对象间互相转化,但本文的目的是:有时候抛弃C层面的东西也是很好的。

是的——对于这种Smalltalk一样杂交而成的语言中的非面向对象部分而言,C语言是很有魅力的一部分。它速度快、久经考验,是现代计算最核心的部分。而且当面向对象范式处于过于庞大的设计而显得臃肿不堪的时候,C就变成了你的“安全出口”。

静态函数比硬要塞入类中的方法要好。 枚举比字符串常量要好。 按位掩码比字符串常量组成的数组要好。 过程化指令比runtime hack要好。

一个专业的Objective-C工程师应该在面向对象和面向过程范式间优雅地切换[……]

继续阅读

NSRunloop是iOS中比较重要的一个东西,有必要对它进行学习理解之后做一些记录:

请尊重作者劳动成果,转载请注明出处!

首先来看看苹果官方给出的解释: The NSRunLoop class declares the programmatic interface to objects that manage input sources. An NSRunLoop object processes input for sources such as mouse and keyboard events from the window system, NSPort objects,[……]

继续阅读

结构:

在单链表中,将终端结点的指针域NULL改为指向表头结点或开始结点即可。

下载

循环单链表的优点在于通过任意一个节点可以遍历整个表的所有节点,而单链表只能遍历该节点之后的节点,在他之前的节点是不能遍历的。

举例:

约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。

约瑟夫环问题我们就可以通过循环单链表的方式求出答案。代码如下:

下载地址:https://github.com/gongjie[……]

继续阅读

链接存储方法:

链接方式存储的线性表简称为链表(Linked List)。
链表的具体存储表示为:

① 用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的)
② 链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继 结点的地址(或位置)信息(称为指针(pointer)或链(link))

链表的结点结构

Link_zh

data域–存放结点值的数据域
next域–存放结点的直接后继的地址(位置)的指针域(链域)

单链表类型描述

[code lang=”CPP”]
typedef[……]

继续阅读

最近两天push项目代码到github,突然出现Failed to connect to github.com port 443: Connection refused错误,一直无法正常push

期间升级git版本,Google,度娘各种问,均未能解决问题

猛然想起为了翻越长城曾经修改过host文件,一看,果然如此,解决方法也很简单,将host文件恢复到默认即可

以下为命令行和原版的host,操作host文件需要root权限, 将host内容粘贴进去然后wq退出即可

[code lang=”shell”]
$ sudo -i
$ cd /etc
$ rm ho[……]

继续阅读

demo 下载地址http://git.cxylg.com/gongjiehong/AlgorithmsDemos.git

1. 顺序表的定义

(1) 顺序存储方法
即把线性表的结点按逻辑次序依次存放在一组地址连续的存储单元里的方法。
(2) 顺序表
用顺序存储方法存储的线性表简称为顺序表。

2. 结点ai 的存储地址

不失一般性,设线性表中所有结点的类型相同,则每个结点所占用存储空间大小亦相同。假设表中每个结点占用c个存储单元,其中第一个单元的存储地址则是该结点的存储地址,并设表中开始结点a1的存储地址(简称为基地址)是LOC(a1),那么结点ai的存储地址LO[……]

继续阅读

线性表定义:

线性表(Linear List)是由n(n≥0)个数据元素(结点)a1,a2,…,an组成的有限序列。
① 数据元素的个数n定义为表的长度(n=0时称为空表)。
② 将非空的线性表(n>0)记作:(a1,a2,…,an)
③ 数据元素ai(1≤i≤n)只是个抽象符号,其具体含义在不同情况下可以不同。

         【例1】英文字母表(A,B,…,Z)是线性表,表中每个字母是一个数据元素(结点)

【例2】一副扑克牌的点数(2,3,…,10,J,Q,K,A)也是一个线性表,其中数据元素是每张牌的点数
线性表的特征:

  1. 有且只有一个“首元素”。
  2. [……]

    继续阅读

前言

 随着HTML5的兴起并大行其道,目前市面上大多数的App都已经采用了Native和HTML结合的方式,笔者也不例外,随着苹果随iOS8一起开放了Webkit框架,HTML和Navive code的交互也变得越发简单和易用。

目前在iOS上Native code和HTML进行交互在iOS8以前主要是采用UIWebView,iOS8以后开放的Webkit框架则提供了更多更方便的功能,本篇主要介绍UIWebView和HTML的交互,Webkit框架将在下一篇文章中详细介绍。

本文demo代码下载地址:https://github.com/gongjiehong/JSTestDemo

[……]

继续阅读

时间: 今天下午三点

地点: 公司

事件:

某女同事Y去泡茶,杯子里面已经有水,便问同事Z:可以先放水再放茶叶吗?

同事Z回答:水还烫吗?

同事Y回答:不烫了,要用开水泡。

同事Y有问说:不能用冷水泡吗?

此时整个可以听见对话的办公区域都在哄笑,怎么能用冷水泡茶呢!

思考:

冷水泡茶真的就不可以吗?据我所知,在深入中国人骨髓的茶文化中,热水泡茶,茶具煮茶已经根深蒂固

但是日本人已经在商业化的售卖可以冷泡的茶叶了

湘西民歌也有唱:冷水泡茶慢慢浓

科学研究也表明冷水泡茶也热水泡茶各有优劣,比如咖啡因难溶于冷水而不会使人失眠,热水却能释放出令人心醉的苦[……]

继续阅读

此问题主要在更新证书和profile后出现,清理缓存即可

终端执行如下命令


1
2
3
<span class="pln">rm </span><span class="pun">-</span><span class="pln">rf </span><span class="str">"$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"</span><span class="pln">
rm </span><span class="pun">-</span><span class="pln">rf </span><span class="pun">~</span><span class="str">/Library/</span><span class="typ">Developer</span><span class="pun">/</span><span class="typ">Xcode</span><span class="pun">/</span><span class="typ">DerivedData</span><span class="pln">
rm </span><span class="pun">-</span><span class="pln">rf </span><span class="pun">~</span><span class="str">/Library/</span><span class="typ">Caches</span><span class="pun">/</span><span class="pln">com</span><span class="pun">.</span><span class="pln">apple</span><span class="pun">.</span><span class="pln">dt</span><span class="pun">.</span><span class="typ">Xcode</span>

[……]

继续阅读