- 博客(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
转载 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
原创 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
原创 super init
【构造方法】1.通常面向对象的语言都有在创建对象的时候,使用构造方法 2.在OC当中,所有init开头的方法,都是要手动调用的,是对类的对象进行初始化,包含两种,有参和无参 self其实就是对象本身,谁调用这个方法,谁就是self super: 调用父类方法的关键字 id:等价于void*【某些情况下】【说明】 为什么用super init,通常情况下,我们一个类的对象都是有父类的属性,加
2017-09-03 15:43:41 1056
iOS技术概览
2017-09-08
IOS触摸事件
2017-09-08
iOS并发编程指南
2017-09-08
iOS 5 ARC完全指南
2017-09-08
coredata知多少
2017-09-08
Cocoa基本原理指南
2017-09-08
Blocks 编程要点
2017-09-08
iOS人机界面指导手册
2017-09-08
多线程编程指南
2017-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人