自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赵不懂的博客

一个用努力追赶天赋的菜鸟

  • 博客(21)
  • 收藏
  • 关注

原创 Masonry使用总结

Masonry有三个最基本的使用方法/** 添加约束 */[view mas_makeConstraints:<#^(MASConstraintMaker *make)block#>]/** 更新特定的约束 */[view mas_updateConstraints:<#^(MASConstraintMaker *make)block#>]/** 重置所有的约束 */[view mas_r

2016-09-28 12:51:21 8198

原创 Cocoa pods的安装使用以及过程中可能会遇到问题的汇总

具体什么是Cocoapods,网上都百度的到,但是总会遇到这样活着那样的问题,经过的一个下午的调试,我在这儿将问题都整合,并且记录。首先,你的ruby版本高于可适用的版本,所以,如果版本低了,需要先升级版本,具体方法如下:1.安装ram$ curl -L get.rvm.io | bash -s stable 等待一段时间后检查是否安装成功$ source ~/.bashrc $ source

2016-09-28 09:13:08 407

原创 理解消息传递机制和消息转发机制

消息传递机制在对象上传递方法叫做“传递消息”(pass a message)。消息有“名称”(name)或“选择子”(selector),可以接受参数,而且可能还有返回值。 在Object-c中,如果向对象传递消息,那就会使用动态绑定机制来决定需要调用的方法。在底层,所有方法都是普通的c语言函数,然而对象受到消息之后,究竟该调用哪个方法则完全于运行期决定,甚至可以在程序运行时改变。id retur

2016-09-27 11:07:47 3993

原创 IOS------Core Data的基本使用

在创建项目过程时,请选中一个标签为Use Core Data的复选框1. 实体和托管对象项目导航面板中,有一个名为Core_Data_Persistence.xcdatamodeld的文件,在这里面会有一个数据模型编辑器。它代替了使用代码创建NSObject的子类并让其遵循NSCoding和NSCopying的传统方式。而是现在数据模型编辑器中创建一些实体(entity),然后再代码中为这些实体创建

2016-09-25 20:41:44 346

原创 一个简单的时间获取客户端/服务器程序

TCP时间获取客户程序#include "unp.h"intmain(int argc, char **argv){ int sockfd, n; char recvline[MAXLINE + 1]; struct sockaddr_in servaddr; if (argc != 3) err

2016-09-18 11:01:01 3588

原创 自定义UIPresentationController

首先设置设置需要modal的控制器的代理;并且设置他的present模式为自定义 比如:vc.modalPresentationStyle = UIModalPresentationCustom;vc.transitioningDelegate = self;实现UIViewControllerTransitioningDelegate的代理方法;可以写一个单例来包含他们。并且VC的代理设为[o

2016-09-17 20:13:00 2317

转载 delegate,notification,KVO三种模式实现通信的优缺点

在开发ios应用的时候,我们会经常遇到一个常见的问题:在不过分耦合的前提下,controllers间怎么进行通信。在IOS应用不断的出现三种模式来实现这种通信: 1.委托delegation; 2.通知中心Notification Center; 3.键值观察key value observing,KVO 因此,那为什么我们需要这些模式以及什么时候用它以及什么时候不用它。

2016-09-16 10:07:28 1221

原创 IOS设计模式------代理

委托(delegate)也叫代理是iOS开发中常用的设计模式。我们借助于protocol可以很方便的实现这种设计模式。什么是代理?苹果的官方文档给了很清晰的解释:Delegation is a simple and powerful pattern in which one object in a program acts on behalf of, or in coordination with,

2016-09-16 10:03:30 304

原创 ios 开发的设计模式

首先,先列一下比较全面的设计模式清单,再从中挑一些着重讲一下。抽象工厂模式适配器模式对象建模模式责任链模式命令链模式复合模式装饰器模式门面模式迭代器模式中介模式备忘录模式MVC模式观察者模式代理模式接待员模式singleton模式模板方法模式设计模式分为三类:创造性、结构和行为 * 创造性模式是专门用于处理对象的创建。抽象工厂模式和单例被认为是创造性。 * 结

2016-09-14 16:36:38 266

原创 散列表(哈希表)

散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)这里我们把这种对应关系f称为散列函数,又称为哈希函数。按照这个思想,采用散列技术将记录存储在一块连续的存储空间中,这块连续存储空间称为散列表或哈希表散列函数的构造方法直接定址法数字分析法平方取中法折叠法除留余数法随机数法总之,现实中,应该视不同的情况采用不同的散列函数。

2016-09-08 10:24:51 540

原创 多路查找树(B树)

2-3树2-3树就是一棵多路查找树:其中的每一个结点都具有两个孩子或三个孩子。 一个2结点包含一个元素和两个孩子,一个3结点包含两个元素和三个孩子2-3-4树2-3-4树其实就是对2-3树的概念扩展,包括了4结点的使用。一个4结点包含小中大三个元素和四核孩子。B树B树是一种平衡的多路查找树,2-3树和2-3-4树都是B输的特例,结点最大的孩子数目称为B树的阶,因此2-3树是3阶B树,2-3-4树是

2016-09-08 09:57:49 440

原创 平衡二叉树

平衡二叉树,是一种二叉排序树,其中每一节点的左子树和右子树的高度差之多等于1。我们将二叉树上结点的左子树深度减去右子树深度的值称为平衡因子BF距离插入结点最近的,且平衡因子的绝对值大于1的结点为根的子树,我们称为最小不平衡子树。平衡二叉树的实现原理平衡二叉树构建的基本思想就是在构建二叉排序树的过程中,每当插入一个结点时,先检查是否因插入而破坏了树的平衡性,若是,则找出最小不平衡子树。在保持二叉排序树

2016-09-08 08:50:33 354

原创 改进的排序算法

shell排序void ShellSort(int *a){ int increment = MAXSIZE; while (increment > 1) { increment = increment / 3 + 1; for (int i = increment; i < MAXSIZE; i++) { if(a[i] <

2016-09-06 11:23:42 364

原创 简单的排序算法

冒泡排序void swap( int *i, int *j){ int temp = *i; *i = *j; *j = temp;}void BubbleSort(int *a){ for (int i = 0; i < MAXSIZE; i++) { for (int j = MAXSIZE - 1; j >= i; j--) {

2016-09-05 10:56:44 228

原创 重写NavigationControllerde的一个具体事例

首先在initialize方法里设置item的主题样式+ (void)initialize{ // 设置整个项目所有item的主题样式 UIBarButtonItem *item = [UIBarButtonItem appearance]; // 设置普通状态 // key:NS****AttributeName NSMutableDictionary *t

2016-09-02 15:33:32 258

原创 二叉排序树

二叉排序树查找操作typedef struct BiTNode{ int data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;/** * 递归查找二叉排序树T中是否存在key * * 指针f指向T的父结点,其初始调用值为NULL * 若查找成功,则指针p指向该数据元素结点,并返回TRUE * 否则,指针p

2016-09-02 11:30:53 197

原创 基本查找算法

顺序表查找/** 顺序表查找 */int Sequential_Search(int *a, int n, int key){ int i ; for (i = 0; i < n; i++) { if(a[i] == key) return i; } return -1;}/** 顺序表查找改进 */int Se

2016-09-02 10:23:31 276

转载 最小生成树-Prim算法和Kruskal算法

Prim算法1.概览普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有边的权值之和亦为最小。该算法于1930年由捷克数学家沃伊捷赫·亚尔尼克(英语:Vojtěch Jarník)发现;并在1957年由美国计算机科学家罗伯特·普里姆(英语:Rob

2016-09-02 09:20:23 277

原创 设置TabBar的字体颜色大小注意细节

NSMutableDictionary *textAttr = [NSMutableDictionary dictionary]; textAttr[NSForegroundColorAttributeName] = [UIColor whiteColor]; [[UITabBarItem appearance]setTitleTextAttributes:textAttr forS

2016-09-01 17:04:19 10246

原创 赫夫曼树的定义与原理

赫夫曼:从树中一个结点到另一个结点之间的分支构成两个检点之间的路径,路径上的分支数目称做路径长度。树的路径长度就是从树根到每一结点的路径长度之和。如果考虑到带权的结点,结点的带权的路径长度为从该结点到树根之间的路径长度与结点上权的乘积。假设有n个权值,构造一棵有n个叶子结点的二叉树,每个叶子结点带权Wk,每个叶子的路径长度为lk,其中带权路径长度WPL最小的二叉树称作赫夫曼树。也称“最优二叉树”。赫

2016-09-01 09:40:06 966

原创 数据结构------二叉树

树是N(N>=0)个结点的有限集。n=0时称为空树。在任意一棵非空树种:1.有且仅有一个特定的称为根(root)的结点;2.当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2……Tm,其中每一个集合本身又是一棵树,并且称为根的字数(SubTree).结点拥有的子树数称为结点的度。度为0的结点称为叶结点或终端节点;度不为0的结点称为非终端结点或分支结点。除根结点之外,分支结点也称为内部

2016-09-01 09:13:21 325

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除