- 博客(63)
- 收藏
- 关注
转载 关于GCD中单例的实现,不仅仅是 dispatch_once(视图完整版)
之前太过于年轻,总结的简单单例模式传送门:http://www.cnblogs.com/PSSSCode/p/5482419.html这篇博客主要讲的是GCD中的单例模式,大家肯定会想到dispatch_once这个函数,但是这篇博客不仅仅是dispatch_once的使用。1、单例模式简介(面试常考的。。。)单例模式的作用可以保证在程序运行过程,一个类只有一个...
2016-06-05 15:08:00
138
转载 Objective - C 实现冒泡排序
1 #pragma mark - 冒泡排序 2 - (void)bubleSortWithArray:(NSMutableArray *)array 3 { 4 int i, j, temp; 5 for (i = 0; i < array.count - 1; i ++) { 6 for (j = 0; j <...
2016-05-20 17:57:00
138
转载 iOS 实现代码编写中 字典属性的可读性
当我们正常编写代码的时候,用log日志打印字典,会出现这样的结果当我们使用下面的代码他就会变成这个样子具体代码为 1 // 2 // NSObject+Log.m 3 // 字典的可读性 4 // 5 // Created by ma c on 16/5/20. 6 // Copyright © 2016年 彭盛凇. All ...
2016-05-20 09:37:00
155
转载 iOS Category 和 Protocol 中的 Property 你们真的会了么?
一、property合成存取器:@property的格式:1 @property (修饰列表) 变量类型 变量名;Xcode4.4之前:@property使编译器自定生成set/get方法声明。@synthesize自动生成set/get方法的实现@synthesize还会自动生成私有成员变量Xcode4.4以后:不用再写@synth...
2016-05-19 23:14:00
163
转载 iOS 中的观察者模式之通知中心
IOS中通知中心NSNotificationCenter应用总结零、观察者模式 A对B的变化感兴趣,就注册为B的观察者,当B发生变化时通知A,告知B发生了变化。这就是观察者模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己或者做出相应的一些动作。 在...
2016-05-19 16:38:00
126
转载 iOS 面试题
iOS面试题基础篇Objective-C的类可以多重继承么?可以采用多个协议么?不可以多重继承,可以采用多个协议.objc使用什么机制管理对象内存?MRC 手动引用计数ARC 自动引用计数,现在通常使用自动引用计数import 跟#include 又什么区别,@class呢, #import<> 跟 #import””又什么区别?i...
2016-05-19 10:34:00
115
转载 iOS中的 观察者模式 之 KVO
1、KVO的简介 KVO 全称 Key-Value Observing。中文叫键值观察。KVO其实是一种观察者模式,观察者在键值改变时会得到通知,利用它可以很容易实现视图组件和数据模型的分离,当数据模型的属性值改变之后作为监听器的视图组件就会被激发,激发时就会回调监听器自身。相比Notification,KVO更加的简单直接。 KVO的操作方法由NSKeyValu...
2016-05-18 22:01:00
84
转载 Objective - C 中的KVC(一)(视图、便携、易懂、原创纯手打 定制版)
KVC的使用1、KVC 全称 key valued coding 键值编码反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性.JAVA,C#都有这个机制。ObjC也有,所以你根部不必进行任何操作就可以进行属性的动态读写,就是KVC。KVC的操作方法由NSKeyValueCoding提供,...
2016-05-16 21:14:00
92
转载 所谓的iOS中的通讯录(一)(自制简易视图版)
在iOS中,有两个框架可以访问用户的通讯录AddressBookUI.framework提供了联系人列表界面、联系人详情界面、添加联系人界面等一般用于选择联系人 2. AddressBook.framework 纯C语言的API,仅仅是获取联系人数据没有提供UI界面显示,需要...
2016-05-15 16:48:00
129
转载 iOS中的桥接方式
iOS中的桥接方式C ->OC (__bridge tupe)expression : 将CoreFoundation框架的对象所有权交给Foundation框架来使用,但是Foundation框架中的对象并不能管理该对象内存 (__bridge_transfer Objective-C type)expression : 将CoreFound...
2016-05-14 21:57:00
164
转载 iOS中的原生框架生成二维码
一、二维码的生成从iOS7开始集成了二维码的生成和读取功能此前被广泛使用的ZBarSDK 目前不支持64位处理器,除此之外还有ZXingSDK也可以生成二维码生成二维码的步骤导入CoreImage框架通过滤镜CIFilter生成二维码 二维码的内容(传统的条形码只能放数字)纯文本名片URL(可直接跳转网页)...
2016-05-12 21:26:00
92
转载 iOS中的单例模式
1、 单例模式的概念单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。2、书写步骤创建类方法,返回对象实例.以shared default current开头...
2016-05-11 16:36:00
90
转载 iOS - load方法与initialize方法的区别
1、load方法:当类被引用进程序的时候会执行这个函数一个类的load方法不用写明[super load],父类就会收到调用,并且在子类之前。Category的load也会收到调用,但顺序上在主类的load调用之后。2、initialize方法:initialize的自然调用是在第一次主动使用当前类的时候和load不同,即使子类不实现in...
2016-05-11 15:46:00
128
转载 iOS 中实现 快速归档 与 快速解档
1 //解档 2 - (id)initWithCoder:(NSCoder *)decoder 3 { 4 if (self = [super init]) { 5 unsigned int count = 0; 6 //获取类中所有成员变量名 7 Ivar *ivar = class_copyIvar...
2016-05-10 21:25:00
108
转载 两个ViewController之间使用Delegate传值(可视简易版)
博主最近在面iOS实习生,有一天面试官提出一个问题问我,如何使用delegate在两个控制器之间进行传值操作,因为是手写,没有调试工能,就这个控制器写协议,觉得不对,然后那个控制器也写协议,最后终于把自己弄混了,面试结束用Xcode,编译了一遍,虽然真的是很简单,但是也有一些不容易发现的小技巧,也在下面的图片中的注释列举出来了,有问题尽管提问我虽然也搜到了部分的控制器之间使用dele...
2016-05-06 15:04:00
224
转载 源代码管理 - SVN(终极篇)
#01. 源代码管理工具概述源代码管理工具的作用:能追踪一个项目从诞生一直到定案的过程记录一个项目的所有内容变化方便地查阅特定版本的修订情况如果是团队开发,使用源代码管理工具是强制性的!如果是单人开发,也强烈建议现在就开始使用源代码管理工具使用源代码管理工具由于使用简单,不会增加工作量不会对现有工作造成任何损害(坏的影响)是一位合格的软件开发人员必须掌握的技术...
2016-05-03 21:22:00
287
转载 装逼神技Unix命令行 - 高调的使用mac终端设置显示/隐藏文件夹
UNIX常用命令================================================================================cd 改变工作目录pwd 输出当前工作目录的绝对路径在UNIX中要执行什么命令,一定要知道自己当前所在的工作目录ls 查看文件$ ls 显示文件$ ls -a 显示所有文件$ ls -l 列...
2016-05-03 21:20:00
360
转载 iOS RunLoop面试题
一 什么是RunLoop?从字面意思看就是运行循环,其实内部就是do-while循环,这个循环内部不断地处理各种任务(比 如Source,Timer,Observer)一个线程对应一个RunLoop,主线程的RunLoop默认已经启动,子线程的RunLoop得手动启动(run方法)RunLoop只能选择一个Mode启动,如果当前Mode中没有任何Source,Timer,Obser...
2016-05-02 21:07:00
81
转载 iOS 网络-深入浅出 -> 三方SDWebImage
首要我们以最为常用的UIImageView为例介绍实现原理:1)UIImageView+WebCache: setImageWithURL:placeholderImage:options: 先显示 placeholderImage ,同时由SDWebImageManager 根据 URL 来在本地查找图片。2)SDWebImageManager: downloadWithURL:d...
2016-05-01 20:56:00
94
转载 iOS 架构模式-MVVM
MVVMModel-View-ViewModelMVVM 其实是MVC的进化版,他将业务逻辑从VC中解耦到ViewModel,实现VC的瘦身。做一个简单的登录判断:创建LoginViewModel(逻辑处理),LoginModel(只放数据),LoginViewController。 这里不用LoginView是为了能更好的把精力集中在用ViewModel解耦上。在LoginM...
2016-04-28 21:04:00
75
转载 iOS - 第三方框架 - AFN
#5、AFNetworking 2.6使用方法 >2.6版本 支持 iOS7以上,而且支持NSURLConnectionOperation >3.0版本 支持 iOS7以上 NSURLConnectionOperation被废弃了```//获取网络请求管理器AFHTTPRequestOperationManager * manager = [AFHTTPReques...
2016-04-28 14:20:00
78
转载 iOS 下拉刷新 上拉加载实现原理
1、下拉刷新 实现原理if (scrollView.contentOffset.y < -100) { [UIView animateWithDuration:1.0 animations:^{ self.scrollView.contentInset = UIEdgeInsetsMake(100, 0, 0, 0); } com...
2016-04-23 23:25:00
81
转载 iOS - 网络 - NSURLSession
1、NSURLSession基础 NSURLConnection在开发中会使用的越来越少,iOS9已经将NSURLConnection废弃,现在最低版本一般适配iOS,所以也可以使用。NSURLConnection上传图片,可以自己找资料。 NSURLConnection相对于NSURLSession,安全性低。NSURLConnection下载有峰值,比较麻烦处理。 尽管适配...
2016-04-21 23:29:00
88
转载 iOS 中的XML解析代码(SAX)
1、XML解析(SAX)NSXMLParser SAX 大文件1)打开文档- (void)parserDidStartDocument:(NSXMLParser *)parser2)开始查找起始标签- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(...
2016-04-19 15:21:00
60
转载 iOS - UI - UIWebView
1、UIWebView UIWebView 是 苹果提供的用来展示网页的UI控件。它也是最占内存的控件。 iOS8.0 webkit框架。 WKWebView,相比UIWebView,节省了1/3~1/4的内存,速度快,但是没缓存功能。 iOS开发 Xcode native原生开发 + Html5 -> 混合开发 Android开发 Eclipse / M...
2016-04-19 14:17:00
85
转载 iOS中的网络请求 和 网络监测
1、网络监测 //根据主机名判断网络是否连接 Reachability *reach = [Reachability reachabilityWithHostName:@"www.baidu.com"]; self.reach = reach; //注册网络监听通知 [[NSNotificationCenter defaultCente...
2016-04-18 17:10:00
202
转载 iOS - 混合开发
5、oc 与 js 混合开发PhoneGap 专门做混合开发的,已经被另一个公司收购。WebViewJavascriptBridge 国内用的比较多混合开发的好处:跨平台性。H5开发的时间成本,人员成本相对较低。混合开发的弱势:应用没有native app 流畅。无法做到啊深度开发。如果所有界面都是H5,审核不会通过。H5相比native app消耗流量,html5网页放入工程里。js ...
2016-04-17 14:18:00
74
转载 iOS沙盒机制
1、沙盒默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。因为应用的沙盒机制,应用只能在几个目录下读写文件Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录,如果保存了下载的数据,程序提交会被直接被拒绝Library:存储程序的默认设置或其它状态信息;Library/Ca...
2016-04-15 17:29:00
72
转载 CALayer 简单操作和实际应用
1、CALayer//每一个UIView,都存在一个CALayer.(主层)//CALayer的功能 描边,圆角,阴影。。。//CALayer 属于QuartzCore绘图框架//明明有UIColor,为啥用CGColorRef?CGColorRef属于QuartzCore,可以使用在mac上。 UIImageView* imageView = [[UII...
2016-04-11 15:04:00
77
转载 iOS 谓词讲解
1、NSPredicate(1)比较运算符1.比较运算符>、<、==、>=、<=、!=运算符还可以跟逻辑运算符一起使用,&& , || ,AND, OR谓词不区分大小写NSPredicate*p = [NSPredicatepredicateWithFormat:@"age >= 18...
2016-03-28 14:59:00
91
转载 iOS中的加密方式 与 文件解压缩
1、Base64加密方式Base64是一种加密方法,可逆的加密。Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符。/ + 填充 =echo -n BC|base64base64 ABC -o 123.txtbase64 -D 123.txt -o uio.txtBase64 iOS7之后加入系统库里的类方法加锁,对象方法解锁1) 字符串转化...
2016-03-22 20:56:00
333
转载 iOS 犄角旮旯的知识
1、全局变量staticNSIntegerkImageHeight =300;#define kImageHeight 3002、通知中心开始编辑UITextViewTextDidBeginEditingNotification正在更改UITextViewTextDidChangeNotification结束编译UITextViewText...
2016-03-18 15:05:00
91
转载 iOS 多线程讲解2
1、GCD其他方法1、GCD应用 单例模式 static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ NSLog(@"执行一次%@",[NSThread currentThread]); });2、GCD延时操作(1)第一种方式[self ...
2016-03-15 20:47:00
57
转载 iOS 画图讲解2
1、图片水印//layer上下文只能显示在drawRect里//当开启上下文时,绘制图形即可在viewDidLoad中实现//位图的上下文//UIGraphicsBeginImageContext()仅适用于非retina屏//开启位图上下文size:位图的尺寸opaque:不透明是yes,透明就是noscale:是否缩放上下文UIGraphic...
2016-03-15 15:03:00
57
转载 iOS 多线程讲解
//同步操作用途 dispatch_queue_t queue = dispatch_get_global_queue(0, 0); dispatch_sync(queue, ^{ NSLog(@"登录"); }); dispatch_async(queue, ^{ N...
2016-03-14 22:08:00
56
转载 UIPickerView 简单操作和实际应用
1、UIPickerView 选择指示器控件 //选择器的初始化 UIPickerView* pickerView = [[UIPickerViewalloc]initWithFrame:CGRectMake(0,50,self.view.bounds.size.width,300)]; pickerView.dataSource=sel...
2016-03-13 15:02:00
60
转载 iOS 画图讲解
5、画图(1)画线//绘图代码写在drawRect里,view加载完成,需要显示的时候调用//1、获取图形上下文2、创建路径3、把图形放入上下文4、渲染上下文//drawRect的rect是绘制View的bounds//重绘[self setNeedsDisplay];set = setStroke(描边) + setFill(填充)//...
2016-03-08 15:02:00
127
转载 支付宝五福实现 核心代码
//准备开始布局- (void)prepareLayout {}//返回的是决定cell样式的数组- (NSArray<UICollectionViewLayoutAttributes*> *)layoutAttributesForElementsInRect:(CGRect)rect { NSArray* attribute...
2016-03-01 15:01:00
534
转载 UICollectionView 简单应用和实际操作
1、网格视图UICollectionView 网格布局UICollectionViewFlowLayout系统图自带网格布局 系统自带的网格布局 UICollectionViewFlowLayout* flowLayout = [[UICollectionViewFlowLayoutalloc]init]; NSInteger...
2016-02-23 15:00:00
77
转载 UITableView 的增删改 自定义UITableViewCell
1、UITableView的增删改//设置编辑模式[self.tableViewsetEditing:YESanimated:YES];//可以不写- (BOOL)tableView:(UITableView*)tableView canEditRowAtIndexPath:(NSIndexPath*)indexPath { return...
2016-02-18 14:58:00
113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人