自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 必看面试题

OC的理解与特性OC作为一门面向对象的语言,自然具有面向对象的语言特性:封装、继承、多态。它既具有静态语言的特性(如C++),又有动态语言的效率(动态绑定、动态加载等)。总体来讲,OC确实是一门不错的编程语言,Objective-C具有相当多的动态特性,表现为三方面:动态类型(Dynamic typing)、动态绑定(Dynamic binding)和动态加载(Dyna

2017-04-01 16:00:29 379

原创 iOS app启动的方式

iOS app启动的方式有哪些:自己启动(用户手动点击启动)urlscheme启动(关于urlScheme的详解点击打开链接)本地通知启动 (自己写的本地通知启动,蓝牙模块的启动,地理围栏的启动)远程通知启动 (后台服务器的推送通知)在appdelegate.m文件中- (BOOL)application:(UIApplication *)application didFini

2017-03-20 17:58:34 589

原创 GCD使用 串行并行队列 与 同步异步执行的各种组合 及要点分析

GCD使用 串行并行队列 与 同步异步执行的各种组合 及要点分析 (1963)  (1)0、概要1、异步函数和并行队列注意:这些任务都是在创建完之后才执行的。异步函数+并发队列,可以新建线程,各线程也是并发执行的。2、同步函数+并发队列注意:这些任务都是创建一个就立马执行,执行完才创

2017-03-20 16:57:55 455

原创 iOS开发之Runtime常用示例总结

iOS开发之Runtime常用示例总结经常有小伙伴私下在Q上问一些关于Runtime的东西,问我有没有Runtime的相关博客,之前还真没正儿八经的总结过。之前只是在解析第三方框架源码时,聊过一些用法,也就是这些第三方框架中用到的Runtime。比如属性关联,动态获取属性等等。本篇博客就针对Runtime这个主题来总结一些其常用的一些方法,当然“空谈误国”,今天博客中所聊的Ru

2017-03-17 15:09:19 249

原创 iOS开发中的代码布局规范

iOS开发中的代码布局规范1.指导原则【原则1-1】首先是为人编写程序,其次才是计算机。说明:这是软件开发的基本要点,软件的生命周期贯穿产品的开发、测试、生产、用户使用、版本升级和后期维护等长期过程,只有易读、易维护的软件代码才具有生命力。【原则1-2】保持代码的简明清晰,避免过分的编程技巧。说明:简单是最美。保持代码的简单化是软件工程化的基本要求。不要过分追求

2017-03-17 14:45:54 1114

转载 在定义 property 的时候,atomic 和 nonatomic 有何区别?

问题在定义 property 的时候,atomic 和 nonatomic 有何区别?@property(nonatomic, retain) UITextField *userName;@property(atomic, retain) UITextField *userName;@property(retain) UITextField *userName;这仨有什么不

2017-03-09 15:11:40 304

转载 Photos 框架实践以及坑

Photos 框架实践以及坑字数3392 阅读18006 评论26 喜欢55导读对于 Photos 框架的介绍,推荐观看 objccn.io 的文章。写得真好,我写得的文章水准还差得老远啊。本文总结了近期使用 Photos 框架编写一个相册的经验,目前还有很大一部分的框架内容没有涉及到,后续会更新内容。获取资源照片库中有两种资源可供获取:PHAsset和

2016-12-08 20:15:47 748

原创 对称 非对称加密 RSA MD5 概念

一)对称加密(Symmetric Cryptography)对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢

2016-12-05 17:29:33 477

转载 iOS 归档的记录

iOS 归档的记录 归档是一种很常用的文件储存方法,几乎任何类型的对象都能够被归档储存(实际上是一种文件保存的形式),浏览网上的一些资料后,并结合自己的一些经验,总结成此文。一、使用archiveRootObject进行简单的归档 使用NSKeyedArichiver进行归档、NSKeyedUnarchiver进行接档,这种方式会在写入、读出数据之前对数据进

2016-11-23 18:34:56 295

原创 获取网络状态

众所周知,我们在开发APP时,涉及网络连接的时候,都会想着提前判断一下当前的网络连接状态,如果没有网络,就不再请求url,省去不必要的步骤,所以,这个如何判断?其实很简单。前提:工程添加:SystemConfiguration.framework framework去苹果API里搜索Reachability,下载demo,把demo里的Reachability.h和Re

2016-11-23 16:35:01 240

原创 JavaScriptCore框架介绍

这个框架其实只是基于webkit中以C/C++实现的JavaScriptCore的一个包装,在旧版本iOS开发中,很多开发者也会自行将webkit的库引入项目编译使用。不过虽然iOS7把它当成了标准库,可惜目前,我还没有在Apple Developer中找到像那样的官方文档介绍这个框架的具体使用方法。JavaScriptCore中的类在项目中引入JavaScriptCore后,

2016-07-20 10:45:02 294

原创 解耦---Hybrid H5跨平台性思考

跨平台,是H5最重要的能力之一。而 Hybrid H5 因强依赖于具体 app,往往不具有跨平台性。这时,将强依赖关系解耦,即可恢复 H5 的跨平台能力。近期本人负责 手Q 红包打赏项目的前端开发,因项目涉及到多 app 跨平台兼容,对 hybrid H5 的跨平台性有了一定的感悟和思考。在这里做下总结分享,希望能对大家有所收获。Hybrid H5 跨平台性进入正题之前,先解释下本

2016-07-19 11:09:09 1765

原创 IOS 原生与HTML交互

跟原生开发相比,H5的开发相对来一个成熟的框架和团队来讲在开发速度和开发效率上有着比原生很大的优势,至少不用等待审核。那么问题来了,H5与本地原生代码势必要有交互的,比如本地上传一些信息,H5打开本地的页面,打开本地进行微信等第三方分享等,今天就简单讲一下iOS中本地UIWebView,WKWebView与H5的交互。DEMO地址:点击下载UIWebView的交互strin

2016-07-18 15:23:55 10852 2

原创 本地测试接口代码

NSError *error;           NSString *path = [[NSBundlemainBundle] pathForResource:@"LockQueueJSON"ofType:@""];           NSString *textFileContents = [NSStringstringWithContentsOfFile:path

2016-04-17 16:13:08 475

原创 自定义通知

我们在做项目时:    当某个地方改变(从服务端接收数据)需要通知2个及以上的地方(view,viewController,manager等任何一个对象)时,我们就应该考虑使用通知。    一般项目用到通知的地方有,登陆,定位,XMPP,APP前后台切换。    在实现通知时:我们首先要明白谁要通知谁,谁注册,谁发送,谁接受处理。1.Manager 监听 VC      XMP

2016-03-29 17:10:20 571

原创 模仿通知

我们在做项目时:    当某个地方改变(从服务端接收数据)需要通知2个及以上的地方(view,viewController,manager等任何一个对象)时,我们就应该考虑使用通知。    一般项目用到通知的地方有,登陆,定位,XMPP,APP前后台切换。    在实现通知时:我们首先要明白谁要通知谁,谁注册,谁发送,谁接受处理。1.Manager 监听 VC      XMP

2016-03-29 15:50:02 466

原创 地图之CLLocationManager的使用 定位功能使用

1.iOS8以前使用CLLocationManager1.导入头文件 2.创建位置管理者 CLLocationManager , 并添加到属性。3.设置代理、遵守协议、实现代理方法,在代理方法中获取位置信息4.调用开始更新位置方法5.设置 每隔多远定位一次 和 精确度,精确度越高越耗电,定位时间越长// 1.设置位置管理者属性@property (nonatomic, stron

2016-03-29 15:46:49 1120

原创 iOS应用程序状态切换相关

一、iOS应用程序状态机一共有五种状态:1. Not running:应用还没有启动,或者应用正在运行但是途中被系统停止。2. Inactive:当前应用正在前台运行,但是并不接收事件(当前或许正在执行其它代码)。一般每当应用要从一个状态切换到另一个不同的状态时,中途过渡会短暂停留在此状态。唯一在此状态停留时间比较长的情况是:当用户锁屏时,或者系统提示用户去响应某些(诸如电话来电、

2016-03-25 15:49:00 613

转载 AFNetworking 3.0迁移指南

http://www.jianshu.com/p/047463a7ce9b文/暮落晨曦(简书作者)原文链接:http://www.jianshu.com/p/047463a7ce9b著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。AFNetworking 3.0AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的

2016-03-22 14:48:35 208

原创 cocoapods 命令

cd ~/.cocoapods  open .

2016-03-22 10:45:03 234

原创 UIView的 autoresizingMask意义

在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高。123456789enum {   UIViewAutoresizingNone                 =

2016-03-21 17:36:23 203

原创 IOS开发调试技巧

http://www.cocoachina.com/ios/20160321/15726.html对于软件开发而言,调试是必须学会的技能,重要性不言而喻。对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中。不同语言、不同IDE、不同平台的调试,有同性也有个性。今天我们就来学习一下iOS开发中的调试技巧,语言暂用为OC,IDE当

2016-03-21 10:33:10 223

原创 详解 UIView 的 Tint Color 属性

在iOS 7后,UIView新增加了一个tintColor属性,这个属性定义了一个非默认的着色颜色值,其值的设置会影响到以视图为根视图的整个视图层次结构。它主要是应用到诸如app图标、导航栏、按钮等一些控件上,以获取一些有意思的视觉效果。tintColor属性的声明如下:var tintColor: UIColor!默 认情况下,

2016-03-16 17:37:55 569

原创 图片拉伸的几种方式

原文:http://www.jianshu.com/p/c9cbbdaa9b02文/YotrolZ(简书作者)原文链接:http://www.jianshu.com/p/c9cbbdaa9b02著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。假如下面的一张图片,是用来做按钮的背景图片的,原始尺寸是(128 * 112)按钮背景图片.png我

2016-03-16 14:47:33 1369

原创 支付宝,微信支付

https://github.com/ioswpf/PayDemoPayDemo支付宝和微信支付两种方式集成做这两个支付集成的时候遇到了一些坑,特此写了一个小的DEMO供大家参考1、支付宝的集成比较简单,主要就是一些设置上的问题; 2、微信的集成比较坑爹,而且官方文档写的也不清不楚的,坑了我很久。项目中使用的pod添加了三个第三方的框架:AFNetw

2016-03-14 16:53:18 570

原创 EYSegmentViewController的使用

- (id)initWithViewControllers:(NSArray *)vcs;//初始化-(void)setCurrentIndex:(NSInteger)index animated:(BOOL)animated;//设置滑动到第几栏/* * dotItems contains some NSNumber * is number * number=

2016-02-23 14:57:26 377

原创 iOS 7的手势滑动返回功能

版权声明:本文为博主原创文章,未经博主允许不得转载。隐藏navigationController的navigationBar后,系统自带的左边侧滑pop手势就消失了。之前随手写过一篇《使用UIScreenEdgePanGestureRecognizer实现swipe to pop效果》,挺粗糙的。现在使用默认模板创建的iOS App都支持手势返回功能,如果导航栏的返回按

2016-02-23 14:33:19 236

原创 UIViewContentMode各类型效果

UIViewContentModetypedef enum {    UIViewContentModeScaleToFill,    UIViewContentModeScaleAspectFit,      // contents scaled to fit with fixed aspect. remainder is transparent    UIVie

2016-02-02 10:53:46 211

转载 window level

http://www.cnblogs.com/smileEvday/archive/2012/03/27/2420362.htmlUIWindowLevel详解UIWindow & UIWindowLevel笔记一、UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面。UI

2016-01-29 18:23:59 343

转载 SDWebImage的使用与原理

转自:http://www.cocoachina.com/ios/20141212/10622.html我之前写过一篇博客,介绍缓存处理的三种方式,其中最难,最麻烦,最占内存资源的还是图片缓存,最近做的项目有大量的图片处理,还是采用了SDWebImage来处理,但是发现之前封装好的代码报错了。研究发现,是我用了新版的SDWebImage,好多方法都变了。现在把代码贴出来,供大家

2016-01-26 15:31:05 391

原创 缓存路径

1.接口缓存路径,数据库缓存路径,用户信息缓存路径2.SDWebImage缓存图片路径总结:我们常用的路径是Documents,Library下的Caches是系统,第三方,日志的默认缓存路径,Library下的Preferences是放置APP配置信息的,里面有个plist文件。

2016-01-26 15:28:14 440

原创 版本更新被拒绝解决方案

总结:由于苹果有自己的自动更新功能(当然你也可以不打开,可配置),所以以前通过比对版本号更新的那一套就算废了。为了解决,我们可以在服务端配置开关,这样,在审核的时候关闭,上线后打开。那么什么时候才需要出现弹出框呢?美味C端是这样处理的:1.比对上次出现更新弹出框出现的时间,如果两次打开时间相距小于设定的时间,则不显示弹出框。2.访问URLhttps://itunes.apple.c

2016-01-25 15:24:58 2003

原创 iOS开发内存警告Memory Warning和ViewController的生命周期的问题

iOS开发内存警告Memory Warning和ViewController的生命周期的问题 (2013-07-24 09:37:15)转载▼标签: memorywarning viewcontroller的生命 didreceivememorywarnviewdidunload ios开发内存警告

2016-01-18 20:26:16 697

原创 NSMutableArray和NSArray的相互转换

// NSArray --> NSMutableArray  NSMutableArray *myMutableArray = [myArray mutableCopy];    // NSMutableArray --> NSArray  NSArray *myArray = [myMutableArray copy];

2016-01-14 19:07:25 784

原创 JSONModel 使用

注意点:1.直接引用model,不需要实现协议2.如果是引用model数组,必须要实现协议,要不会有报错3.ConvertOnDemand,是懒加载,可以提升网络效率,把字典数组转化为jsonmodelArray,如果不加ConvertOnDemand关键字直接转化为系统的NSArray.

2016-01-14 11:00:59 988

原创 KVC

基本概念MODEL主要是英文文档里面经常出现的一些概念,讲解一下,方便英文文档的阅读。IOS应用开发是遵循MVC设计模式的,Cocoa框架用Object Modeling的规则来规范一个Model的实现。ObjectModeling有如下几个概念的规定:Entity:表示持有数据的一个实体Property实体中的成员,分为Attribute和:RelationshipA

2016-01-11 15:28:11 307

原创 KVO

一,概述KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。二,使用方法系统框架已经支持KVO,所以程序员在使用的时候非常简单。1. 注册,指定被观察者的属性,2. 实现回调方法3. 移除观察三,实例:假设一个场景,股

2016-01-11 14:26:03 563

原创 代码规范

原文:https://github.com/cncnTech/iOS-development-guideline#%E5%9F%BA%E6%9C%AC%E5%8E%9F%E5%88%99Objective-C 编码规范iOS 工程开发实践目录代码格式空行ViewController.m 文件结构命名原则基本原则使用前缀命名类和协议(C

2015-12-29 16:40:38 416

转载 代码规范

原文:https://github.com/cncnTech/iOS-development-guideline#%E5%9F%BA%E6%9C%AC%E5%8E%9F%E5%88%99Objective-C 编码规范iOS 工程开发实践目录代码格式空行ViewController.m 文件结构命名原则基本原则使用前缀命名类和协议(C

2015-12-29 16:37:45 1015

原创 IOS沙盒Files目录说明和常用操作

Ios沙盒目录清单1 Documents 用于存储用户生成的文件、其他数据及其他程序不能重新创建的文件,默认文件通过iCloud自动备份。如果不需要iCloud备份,则设置标记NSURLIsExcludedFromBackupKey,注明不备份 1.1 读取Documents目录代码NSArray *paths = NSSearchPathForDirectoriesI

2015-12-21 22:30:53 470

空空如也

空空如也

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

TA关注的人

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