自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 iOS开发面试题

Edit1. KVO的实现原理KVO的底层实现是使用runtime实现的,在程序运行过程中,创建一个继承于对象观察者的类 (例如观察者对象的类为Person,动态创建NSKVONofitying_Person类,并且继承于Person)使用断点查看发现age属性虽然属于Person类,但是内部的isa指针指向的是NSKVONofitying_Person对应的.m文件,

2017-12-26 11:08:19 589

原创 iOS 开发密码学

哈希(散列函数)算法 对称加密算法 非对称加密算法 哈希(散列函数)算法算法公开 对不同数据加密结果是定长的32位字符(所能表示的个数是有限的) 信息摘要(加密之后的数据是不可逆的) 哈希的破解: 散列碰撞(就是找出两个不同的数据, 加密之后得到相同的结果) 比方说: 用户隐私数据!! 绝对不允许明文传递(需要加密——哈希算法) 服务器是不知道用户的真实密码!!!—找回密码

2017-12-26 11:01:13 352

转载 iOS开发之Masonry框架源码深度解析

Masonry是iOS在控件布局中经常使用的一个轻量级框架,Masonry让NSLayoutConstraint使用起来更为简洁。Masonry简化了NSLayoutConstraint的使用方式,让我们可以以链式的方式为我们的控件指定约束。本篇博客的主题不是教你如何去使用Masonry框架的,而是对Masonry框架的源码进行解析,让你明白Masonry是如何对NSLayoutConstrain

2016-09-07 10:00:30 462

转载 iOS及Mac开源项目和学习资料

iOS  UI下拉刷新EGOTableViewPullRefresh – 最早的下拉刷新控件。SVPullToRefresh – 下拉刷新控件。MJRefresh – 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写)XHRefr

2016-03-08 17:02:58 1271

原创 iOS开发之简单多语言开发

开发多语言,一般有两种情况1、App还没有开始写;2、App已经迭代过几个版本;项目刚开始启动1、新建一个项目(我就不多说了)2、command + N 添加多语言文件,如下图3、添加多语言,如图选择English 点击Localize到这里已经算是添加好了多语言文件,接下来就是添加多语言现在需要进入项目的

2016-01-25 11:54:13 332

原创 iOS开发利用Javascript去操作UIWebView的内容

Web背景知识web 时代三剑客 html + css + javascripthtml : 就像是我们创建一个UIView,只是规定我们创建的是一个长方形的框架,还有我们创建一个UIImageView只是去创建一个可以放图片的控件,html只是规定了一些控件的类别,其中web 1.0时代以table控件为主要控件,web 2.0 时代,主要就是div控件了.这个div控件其实我们

2016-01-09 10:23:37 526

原创 iOS开发-制作Framework(最新)

前言之前有很多的大神们已经写过framework的制作,但最近由于Xcode7的出现,很多之前的教程内容已经不符,对于初学者来说,找到一篇能够直接明了,简单易学的制作framework的文章比较困难。本文将基于Xcode7创建一个简单的工程,通过两种方法来教大家如何制作一个自己的framework。简介Mac OS X扩展了framework的功能,让我们能够利用它来共享代码和资源

2015-12-31 11:11:23 409

原创 CoreData的简单使用

iOS开发-CoreData的简单使用什么是CoreData?CoreData是iOS5之后才出现的一个框架, 它提供了对象-关系映射(ORM)的功能, 即能够将OC对象转换成数据, 保存在SQLite数据库文件中, 也能够将保存在数据库中的数据还原成OC对象.这个过程中, 我们不需要编写任何的sql语句, 这个有点类似于著名的Hibernate持久框架, 不过功能肯定没有Hibe

2015-12-28 18:44:11 324

原创 NSURLSession下载与缓存

NSURLSession下载与缓存iOS9要求网络请求需要使用NSURLSession,那么本篇文章就使用NSURLsession来实现视频的下载,图片的下载、取消下载、恢复下载和缓存功能,期望与大家一起学习。NSURLSessionConfiguration(参数配置类)NSURLSession状态同时对应着多个连接,不像之前使用共享的一个全局状态。会话是通过工厂方法(类

2015-12-22 11:46:05 418

原创 cocoaPods的安装

CocoaPods是什么?     当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,例如 高德地图和百度地图的SDK, 就会使用到很多静态库, 手动导入会很麻烦,CocoaPods应该是iOS最常用最有名的类库管理工具了,通过cocoaPods

2015-12-12 17:12:56 305

原创 iOS开发中ARC和MRC的区别--内存

2015-11-13 16:21:23 445

原创 iOS开发中类方法与self方法的区别

Objective-C里面既有实例方法也类方法。类方法(Class Method) 有时被称为工厂方法(Factory Method)或者方便方法(Convenience method)。工厂方法的称谓明显和一般意义上的工厂方法不同,从本质上来说,类方法可以独立于对象而执行,所以在其他的语言里面类方法有的时候被称为静态方法。注意点一:类方法1,类方法可以调用类方法。2,类方法不可以调用

2015-11-02 10:37:04 527 1

原创 关于Xcode7以后ARC和MRC的一些问题的解决办法

Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3505.16/UIApplication.m:32941.自己的旧项

2015-10-29 20:25:50 367

原创 iOS开发C语言关于内存问题的总结

2015-10-27 14:01:15 357

转载 iOS开发程序中各种变量的存储位置和程序返回变量的问题

c++内存到底分几个区?一: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由os回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块

2015-10-27 09:02:34 3495

转载 iOS开发关系结构体分配空间

结构体内存分配问题(转)1)sizeof也可以对一个函数调用求值,其结果是函数返回类型的大小,函数并不会被调用。(2)终于搞懂struct结构体内存分配问题了,结构体中各个成员字节对齐遵循以下几个原则:1.结构体每个成员相对于结构体首地址的偏移量(offset)都是(这个)成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding);  例如有以下一个

2015-10-24 11:24:21 1590

原创 iOS开发中iOS小结

一.内存管理情况1- autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象。当用户的代码运行告一段 落,开始等待用户的操作,自动释放池就会被释放掉(调用dealloc),池中的对象都会收到一个release,有可能会因此被销毁。2-成员属性:readonly:不指定readonly,默认合成getter和setter方法

2015-10-23 17:11:27 673

转载 iOS开发C语言字符串

C语言字符串一、字符串基础注意:字符串一定以\0结尾。Printf(“yang\n”);其中yang为字符串常量,“yang”=‘y’+‘a’+‘n’+‘g’+‘\0’。字符串由很多的字符组成,通常使用字符数组来存储字符串,如char name[10]=“yang”;也可以以printf(name);的形式输出,即通过数组来访问字符串,但会有警告。因为默认情况下,printf函数只

2015-10-22 17:27:39 348

原创 iOS开发中关于iOS9 HTTP的解决办法

在Info.plist中添加NSAppTransportSecurity类型Dictionary。在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES

2015-10-19 09:34:30 323

原创 iOS开发中coredata的使用和数据持有化

一、概念1.Core Data 是数据持久化存储的最佳方式2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型在Mac OS X 10.5Leopard及以后的版本中,开发者也可以通过继承NSPersistentStore类以创建自定义的存储格式3.好处:能够合理管理内存,避免使用sql的麻烦,高效4.构成:(1)NSManagedOb

2015-10-09 09:13:27 365

原创 iOS分析远程推送的步骤

2015-10-09 09:04:42 346

原创 iOS开发中解决iOS8无法定位的问题

升级iOS 8后,将无法定位,特给出解决方案。1.在Plist中追加下字段NSLocationWhenInUseUsageDescription或NSLocationAlwaysUsageDescription(这两个字段必须有其中一个,内容是系统alert的文言,文言可为空) ,如下图所示:WhenInUse是应用在前台的时候可以搜到更新的位置信息,Always是除了应用在前台,应用在后

2015-10-07 19:33:30 401

原创 iOS开发使用WebViewJavascriptBridge实现OC与JS交互

[iOS] 使用WebViewJavascriptBridge实现OC与JS交互前言当下,很多APP里面都会有HTML5网页,我们除了简单的用WebView加载显示外,很多情况下,我们还需要和WebView进行交互,比如点击WebView上面的按钮调用OC端的函数实现具体操作。因此今天为大家介绍一个优秀的开源小项目,就是我们今天的主角--WebViewJavascriptBridg

2015-10-07 14:34:09 557

原创 iOS开发地图的代码和方法

类方法说明+ (BOOL)locationServicesEnabled;是否启用定位服务,通常如果用户没有启用定位服务可以提示用户打开定位服务+ (CLAuthorizationStatus)authorizationStatus;定位服务授权状态,返回枚举类型:kCLAuthorizationStatusNotDetermined: 用户尚未做出决定是否

2015-10-06 10:01:21 804

原创 iOS开发CGD买票

@interface ViewController ()  {      int _totalCount; // 火车票总票数      int _surplusCoynt; // 剩余票数      NSLock *_lock; // 互斥锁  }    @end  [objc] view plaincopy// 设置剩余票数      _surplusCoynt

2015-09-22 17:31:52 389

原创 iOS开发CGD

[objc] view plaincopy//  串行队列 分两种  //  1.主队列  //  创建一个主队列  dispatch_queue_t mainQueue = dispatch_get_main_queue();  //  像主队列中添加任务  //  参数1 要添加的队列  //  参数2 要添加的任务  dispatch_async(mainQueue, ^{ 

2015-09-22 15:16:23 361

转载 iOS开发中通过点击按钮异步加载图片

AsyncImageView.h:  #import   @interface AsyncImageView : UIView  {  NSURLConnection* connection;  NSMutableData* data;  }  - (void)loadImageFromURL:(NSURL*)url;  @end  AsyncImageView

2015-09-17 19:49:58 337

翻译 iOS开发中SQlite常用语句

SQlite常用语句注:SQlite语句 不区分大小写1.创建表语句create table Student (Student 是表名)IF NOT EXISTS 表不存在 才创建gender text 表示其类型 字符串存储类型:NULL 值是空值INTEGER 值是整型REAL 值是浮点数TEXT 值是文本字符串BLOB 值是一个二进制类

2015-09-17 13:01:25 475

空空如也

空空如也

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

TA关注的人

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