自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

遇见更好的自己

从不相信人生可以不劳而获,也许活的用力,却真心诚意绝不敷衍。

  • 博客(23)
  • 资源 (14)
  • 收藏
  • 关注

原创 创建软连接

命令格式:ln -s / /home/good/linkname ln的链接分软链接和硬链接两种:1、软链接就是:“ln –s 源文件 目标文件”,只会在选定的位置上生成一个文件的镜像,不会占用磁盘空间,类似与windows的快捷方式。2、硬链接ln源文件目标文件,没有参数-s, 会在选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文

2017-09-30 14:36:30 1184

原创 HTTP协议常用字段

URI&URLURI:统一资源标识符,不仅可以标识http,ftp等其他的网络资源 URL:统一资源定位符请求头GET :获取一个资源,同时参数直接跟在URL后面,url长度受限制2048字节 POST:不仅可以获取资源,还可以提交资源(譬如上传文件),参数放在请求体中,包大小4G HEAD:只要响应头,没有响应体,通常用于测试URL是否存在 DELETE:删除一个资源 PUT:通常修改一

2017-09-23 21:26:26 8271

转载 QQ实现原理

QQ实现基本原理

2017-09-22 15:22:07 4693

转载 NS_REFINED_FOR_SWIFT

重定义Objective-C接口如果您的项目中使用了 Objective-C 以及 Swift 两种语言混编,您可能会遇到这样一个尴尬的局面:Objective-C 的 API 和 Swift 的风格相差比较大,Swift调用Objective-C的API时可能由于数据类型等不一致导致无法达到预期(比如,Objective-C里的方法采用了C语言风格的多参数类型;或者Objective-C方法返回N

2017-09-22 15:12:36 1825

转载 iOS常见加密算法

一 、MD5加密MD5加密是最常用的加密方法之一,是从一段字符串中通过相应特征生成一段32位的数字字母混合码。 MD5主要特点是 不可逆,相同数据的MD5值肯定一样,不同数据的MD5值不一样(也不是绝对的,但基本是不能一样的)。 MD5算法还具有以下性质: 1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。 2、容易计算:从原数据计算出MD5值很容易。

2017-09-11 11:59:00 522

原创 字典(NSDictionary)和JSON字符串(NSString)之间互转

字典转Json字符串-(NSString *)convertToJsonData:(NSDictionary *)dict{NSError *error;NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error];NSString *j

2017-09-08 14:18:29 12435

原创 重新绘制、刷新tableView的cell

重新绘制某行cellCGRect rectInTableView = [tableView rectForRowAtIndexPath:indexPath]; CGRect rect = [tableView convertRect:rectInTableView toView:[tableView superview]]; 一个section刷新NSIndexSet *indexSet=[[N

2017-09-08 14:12:36 1115

转载 请求主线程

在iOS中只有主线程才能立即刷新UI。如果是通过侦听异步消息,触发回调函数,或者调用异步方法,请求刷新UI,都会产生线程阻塞和延迟的问题。正确的做法是回到主线程,方法如下:if ([NSThread isMainThread]) { [self.downloadMapBtn setImage:[UIImage imageNamed:@"download_map.png"] forSt

2017-09-08 14:01:10 222

原创 git stash

git stash备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。git stash pop从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。git stash list显示Git栈内的所有备份,可以利用这个列表

2017-09-08 13:57:21 398

原创 Git submodule添加子项目/库

开发过程中,经常会有一些通用的部分希望抽取出来做成一个公共库来提供给别的工程来使用,而公共代码库的版本管理是个麻烦的事情。git submodule命令就可以解决这个问题。Git归并策略Git归并有两种策略:递归,章鱼。1.递归策略:当分支数只有两个的时候。2.章鱼策略:当分支数大于两个的时候。Git会自动选择归并的方法。3.子树策略:是Git另一种归并方法。(submodule)它可以把另一个子项

2017-09-08 10:51:31 6212

原创 面试题系列(一)

1.进程和线程有什么区别,存在什么联系?进程:在系统中正在运行的一个应用程序,是系统资源分配的基本单位,在内存中有其完备的数据空间和代码空间,拥有完整的虚拟空间地址,一个进程所拥有的数据和变量只属于他自己。线程:进程中相对独立的可执行单元,所以也成为轻量线程,是操作系统进行任务调度的基本单元,他与父进程的其他线程共享进程所拥有的全部代码空间和全局变量,但用于独立的堆栈(局部变量对于线程来说是私有的)

2017-09-05 22:23:52 234

转载 iOS中[super class]为何会输出子类类型?

iOS中[super class]为何会输出子类类型?比如有一个自定义类DetailViewController继承自类UIViewController。那么我们对这个自定义类分别使用[self class]和[super class]将会分别输出如下结果: [self class] DetailViewController [super class]

2017-09-05 14:48:50 211

原创 键盘监听

【监听】#pragma mark - 监听键盘-(void)monitorKeyboard{ //添加监听键盘弹出 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardShow:) name:UIKeyboardWillShowNotification object:ni

2017-09-04 20:48:58 624

原创 循环复用原理图

如图所示

2017-09-03 16:20:08 671

原创 Xib And Storyboard

【Xib】Interface Builder 是用来组织创建应用程序的可视部分(用户界面)。使用它您可以拖放一些定义好的组件(UILabel、UIButton等)到应用程序窗口中,然后设置它们的属性,和应用程序对象建立连接。当您完成了创建视图后将会以(Mac OS工程为.nib,iOS工程为.xib)文件的形式保存起来。 其实xib是从iOS SDK初次面世开始就是捆绑在开发者工具

2017-09-03 16:17:06 294

原创 UICollectionView

【集合视图】UICollectionView是集合视图,是UIScrollView的子类,也非常重要。 【说明】 1、UICollectionView上item的布局依赖一个布局对象 2、也就是说布局对象决定了UICollectionView的items如何显示在界面上, Apple提供了一个最简单的布局对象(UICollectionViewFlowLayout), UICollectio

2017-09-03 16:14:22 198

原创 UINavigationController

【导航控制器】UINavigationController是导航控制器,是一个容器视图控制器, 用于切换具有层次关系的视图,而非同一级视图间的切换。视图控制器之间的切换【说明】导航管理子视图控制器的切换,采用栈数据结构的原理 push—>压栈 把子视图控制器放入导航的子视图控制器数组中【push的时候,内部有对svc指向的对象计数器加1】 pop—>出栈 把子视图控制器从导航的子视

2017-09-03 16:11:37 263

原创 block

block:就是一堆代码块,没有名字的代码块,相当于匿名函数,block就是一种具有匿名功能的内嵌函数,具有参数和返回值 block:对局部变量是只读__ block block某种意义上替代了回调函数或者delegate。这样有利于代码的整合和阅读,不需要到处是实现委托方法了。 代理设计模式 使用block实现委托模式,其优点是会掉的block代码块定义在委托对象函数内部,使代码更为紧凑;

2017-09-03 16:09:12 1318

原创 UITextField收键盘

UITextField是文本输入框,专门用于获取用户输入的文本 1、基本属性方法 2、代理回调方法 3、键盘监听定制 UITextField默认不收键盘 ctrl+command+空格:弹出表情键盘 取消UITextField第一响应,实际上就是收键盘收键盘:1.借助于UIControl来收键盘【点击键盘外侧空白部分就可以收键盘】例子在下面 2.通过UITouc

2017-09-03 16:06:29 511

原创 iOS程序的启动流程

a、UIApplicationMain函数的参数:int main(int argc, char * argv[]) {@autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));}}UIKIT_EXTERN int UIApplication

2017-09-03 16:00:38 380

原创 Xcode快捷操作

a Xcode相关command + 0 【显示/隐藏文件导航栏】 command + alt + ◀️/▶️ 【折叠/展开单一函数】 command + alt + shift + ◀️/▶️ 【折叠/展开所有函数】 command + control + ◀️/▶️ 【向前向后跳转】 command + control + 上/下【切换一个类的声明和实现】

2017-09-03 15:52:25 273

原创 设备和分辨率

常识

2017-09-03 15:48:45 380

原创 super init

【构造方法】1.通常面向对象的语言都有在创建对象的时候,使用构造方法 2.在OC当中,所有init开头的方法,都是要手动调用的,是对类的对象进行初始化,包含两种,有参和无参 self其实就是对象本身,谁调用这个方法,谁就是self super: 调用父类方法的关键字 id:等价于void*【某些情况下】【说明】 为什么用super init,通常情况下,我们一个类的对象都是有父类的属性,加

2017-09-03 15:43:41 1056

图片压缩工具

可选择单个、多个图片,大大减小图片大小,在移动开发上,对于减小安装包大小有极大的效果

2017-12-04

iOS技术概览

iOS 技术概述是针对iOS平台新手的介绍指南。它简要介绍一些对开发过程有影响的技术和工具,并且提供相关文档和其他信息来源链接。通过阅 读本文档,您将可以: ▪ 熟悉iOS平台。 ▪ 了解iOS软件技术、知道为何使用这些技术以及何时使用。 ▪ 了解该平台的发展机遇。 ▪ 获得从其他平台转移到 iOS平台用到的技巧和指南。 ▪ 找到和您感兴趣的技术相关的关键文档。 本文档只提供和软件开发过程有关的信息,不提供和用户级别的系统功能有关的信息。 本文档非常适合开发新手用于熟悉iOS平台。有经验的开发人员可以将本文档作为路线图,根据它来钻研某些特定技术或开发技术。

2017-09-08

IOS触摸事件

触摸事件在IOS中是基于多点触摸模型。取代鼠标和键盘,用户通过触摸设备的屏幕来 操作对象,输入数据以及实现其它意愿。IOS识别的一个或多个手指对屏幕进行触摸并将其 作为多点触摸序列的一部分。该序列以用户第一个手指触摸屏幕开始一直持续到最后一个手 指离开屏幕。IOS通过触摸序列来跟踪手指在屏幕上的移动并记录它们的特征,包括手指在 屏幕上的位置以及触摸发生的时间。应用程序通常会识别一组触摸为一个手势并对其进行相 应的响应,例如:放大缩小屏幕内容用于响应pinch手势,对屏幕内容进行滚动用于响应flic k手势。

2017-09-08

iOS并发编程指南

iOS 和 Mac OS 传统的并发编程模型是线程,不过线程模型伸缩性 不强,而且编写正确的线程代码也不容易。Mac OS 和 iOS 采取“异步 设计方式”来解决并发的问题。 引入的异步技术有两个:  Grand Central Dispatch(GCD):系统管理线程,你不需要编写线 程代码。只需定义想要执行的任务,然后添加到适当的 dispatch queue。GCD 会负责创建线程和调度你的任务。系统直接提供线 程管理,比应用实现更加高效。  Operation Queue:Objective-C 对象,类似于 dispatch queue。你 定义想要执行的任务,并添加任务到 operation queue,后者负责 调度和执行这些任务。和 GCD 一样,Operation Queue 也管理了 线程,更加高效。

2017-09-08

iOS 5 ARC完全指南

iOS 5 最显著的变化就是增加了 Automatic Reference Counting(自 动引用计数)。ARC 是新 LLVM 3.0 编译器的特性,完全消除了手动内 存管理的烦琐。在你的项目中使用 ARC 是非常简单的,所有的编程都 和以前一样,除了你不再调用 retain, release, autorelease。启用 ARC 之后,编译器会自动在适当的地方插入适当的 retain, release, autorelease 语句。你不再需要担心内存管理,因为编译器为你处理了 一切。注意 ARC 是编译器特性,而不是 iOS 运行时特性(除了 weak 指 针系统),它也不是其它语言中的垃圾收集器。因此 ARC 和手动内存 管理性能是一样的,有些时候还能更加快速,因为编译器还可以执行某 些优化。

2017-09-08

coredata知多少

Core Data拥有成熟的代码,这些代码通过单元测试来保证品质。应 Core Data的程序每天被世界上 百万 户使 。通过了 个版本的发布,已经被 度优化。 它能利 Model层的信息和运 时的特性, 不通过程序层的代码实 现。 除了提供强 的安全 持和错误处理外,它还提供了最优的内存扩展性, 可实现有竞争 的解决 案。不使 Core Data的话,你需要花很 时间来起 草 的 案,解决各种问题,这样做效率不 。 除了Core Data本 的优点之外,使 它还有其他的好处: 它很容易和Mac OS X系统的Tool chain集成;利 Model设计 具可以按图形化 式轻松创建 数据库的结构;你可以 Instruments的相关模板来测试Core Data的效率并 debug。 在Mac OS X的桌 程序中,Core Data还和Interface Builder集成 (打开Inspector可以看到有binding的选项,这个东东iPhone上 有。。。),按照model来创建UI变的更简单了。 这些功能能更进 步的帮助 你缩短设计、开发、测试程序的周期。

2017-09-08

Cocoa基本原理指南

对于刚刚加入这个阵营的开发者来说,Cocoa 像是一个巨大而未知的新世界。Cocoa 开发环境的各种特性、 工具、概念、术语、编程接口、甚至是编程语言对他们来说可能都比较生疏。Cocoa 基本原理指南提供了 领略 Cocoa 技术景致的方向,介绍 Cocoa 的特性、基本概念、专用术语、结构、以及潜在的设计模式, 使开发者更加容易上手。 Cocoa 基本原理指南的组织结构使读者可以逐步获取有关 Cocoa 开发的一般性知识。它从最基础的信息开 始—即 Cocoa 有什么组件和能力,以考察 Cocoa 的主要架构作为结束。每一章都建立在前一章内容的基 础上,每个部分都给出某个主题的重要细节,但又仅仅在较高的级别上进行描述。文中还提供很多指引, 方便读者了解其它更为详尽的文档。 在 Cocoa 的开发文档中,Cocoa 基本原理指南是介绍 Cocoa 概念的初级文档,是诸如 Cocoa 描画指南和 Cocoa 的视编程指南这类文档的先期读物。阅读 Cocoa 基本原理指南需要的前提条件很少,但读者必须是 熟练的 C 程序员,且应该熟悉 Mac OS X 的能力和技术。您可以通过阅读 Mac OS X 技术概览一书来获得 这些知识。

2017-09-08

Blocks 编程要点

Block 对象是 C 级别的语法和运行时特性。它们和标准 C 函数很类似,但是除了 可执行代码外,它们还可能包含了变量自动绑定(栈)或内存托管(堆)。所以一个 block 维护一个状态集(数据),它们可以在执行的时候用来影响程序行为。 你可以用 blocks 来编写函数表达式,这些表达式可以作为 API 使用,或可选的存 储,或被多个线程使用。Blocks 作为回调特别有用,因为 block 携带了进行回调所需 要的执行代码和执行过程中需要的数据。 你应该阅读该文档来掌握 block 对象是什么和如何在 C,C++或 Objective-C 上面使 用它们来让你的程序更高效和更易于维护。

2017-09-08

iOS人机界面指导手册

用户钟爱那些专门为移动设备设计的 iOS 程序。例如,用户非常希望程序能够与设备屏 幕相衬,并且能够响应那些用户熟识的手势。虽然用户可能不知道人机交互设计原则, 诸如“直接操控”“一致性”,但却能觉察的出遵守原则和违背原则的程序之间的差别。 当你开始设计 iOS 程序时,一定要意识到是什么让 iOS 设备如此独特,并且学会使用交 互设计原则,以便用户能爱上你的程序。

2017-09-08

多线程编程指南

线程是单个应用中可以并发执行多个代码路径的多种技术之一。虽然更新的技术 如操作对象(Operation objects)和 Grand Central Dispatch(GCD),提供一个更 加现代化和高效率的基础设施来实现多核并发,但是 Mac OS X 和 iOS 也提供一套接 口来创建和管理线程。 本文档介绍了 Mac OS X 上面的可用线程包,并且演示如何使用它们。本文档还 描述了在你的应用中多线程代码同步的相关技术。

2017-09-08

Instruments 用户指南

详细介绍了Instruments的原理和使用方法,资源老了些,但是对于深层次理解还是很好

2017-08-25

软件设计师课程体系结构

专业的人士,专业的资料,你会收获很多的。

2011-04-20

空空如也

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

TA关注的人

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