自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(186)
  • 资源 (3)
  • 论坛 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 ios 修改导航栏颜色

说到修改导航栏颜色,我们首先想到的是设置其背景色:self.navigationController.navigationBar.backgroundColor = [UIColor redColor];但发现并不可以,感觉导航栏被覆盖了某个视图。正确的方法是:方法1:设置navigationBar的bartintColor:self

2017-04-24 22:47:42 2266

转载 iOS应用设计模式开发中对简单工厂和工厂方法模式的运用

原文链接:http://www.jb51.net/article/81497.htm这篇文章主要介绍了iOS应用设计模式开发中对简单工厂和工厂方法模式的运用,示例代码为传统的Objective-C,需要的朋友可以参考下。简单工厂模式正如此模式的名称一样,简单工厂模式基本上是所有设计模式里最简单的一种,类与类之间的关系一目了然。这次我就用很多地方经常举的例子--计算器,来

2017-04-11 15:06:39 268

转载 框架和类库的区别

框架?   框架和类库等概念的出现都是源于人们对复用的渴望。“不要重复发明轮子”,成了软件界的一句经典名言。从最初的单个函数源代码的复用,到面向对象中类的复用(通常以类库的形式体现),再到基于组件编程中二进制组件(.NET中是以IL程序集形式存在的)的复用,人们复用软件的抽象层次越来越高。现在,框架复用是抽象层次的又一提升,框架的复用不仅仅是功能的复用,更是设计的复用。1.1 框架

2017-04-01 18:04:08 374

转载 iOS沙盒目录结构解析

iOS沙盒目录结构解析作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/18269713转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!出于安全考虑,iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的

2017-03-19 16:42:47 265

转载 SDWebImage基本原理和使用

原文链接:http://blog.csdn.net/indulgein/article/details/51130812一、SDWebImage基本原理SDWebImage是当下最流行的一个三方图片处理框架,它的强大之处相信只要是iOS开发人员就体会过,我们只需要用一句代码[objc] view plain copy[[UII

2017-03-19 11:50:48 808

转载 iOS: MJRefresh源码分析

链接:http://www.2cto.com/kf/201611/568070.htmlMJRefresh代码的核心思想上图为MJRefresh项目的项目结构在MJRefresh中,使用了KVO、runtime、继承、GCD等知识核心思想–MJRefreshComponent是刷新控件的基类,在MJRefreshComponent添加了K

2017-03-05 21:53:51 494

转载 iOS开发 iOS10推送必看(基础篇)

原文链接:http://www.jianshu.com/p/f5337e8f336diOS10更新之后,推送也是做了一些小小的修改,下面我就给大家仔细说说。希望看完我的这篇文章,对大家有所帮助。一、简单入门篇---看完就可以简单适配完了相对简单的推送证书以及环境的问题,我就不在这里讲啦,我在这里说的,是指原有工程的适配。1.首先我们需要打

2017-02-15 11:35:47 215

转载 APP接口版本兼容的问题

原文:http://www.cnblogs.com/dahe007/p/6255401.html现在基本每个公司都做APP,所以大家都面临 APP接口版本兼容的问题。iOS和android 要不断开发新版本,很多服务端开发都是在以前接口的逻辑上进行修改。新的APP和接口开发后,接口如何兼容老的APP?有的公司 每次发布完APP,就强制用户更新到最新版本。不推荐这

2017-02-10 22:43:45 3515

转载 iOS RSA的网络安全模型、iOS签名机制总结(登录、token安全、签名)

原文链接:http://blog.csdn.net/gx_wqm/article/details/54671456摘要最近公司准备做一个安全级别比较高的项目:技术总监给我们提出了一个这样子的需求:在http请求过程中,即使嗅探器捕获到网络请求的链接也无法去请求到数据。经过一番思考,觉得支付宝的签名完全符合这样子的需求。但是之前自己对签名、RSA等知识也是知道的很少,所以

2017-02-09 13:56:58 200

原创 ios 上滑隐藏导航下拉显示导航栏实现

为了最大限度的利用手机屏幕,出现了上滑隐藏导航下拉显示导航栏。先看看效果(代码:http://download.csdn.net/detail/gx_wqm/9743403), 把代码跑一下看一下是否是你想要的。 其实实现比较简单,比较简单,直接看代码就可以了。下面说的是我的思路,说的很抽象。跑起来后可能你会有几个疑问:1、导航栏为什么可以设置渐进式的透明?

2017-01-23 00:17:14 3661

原创 Xcode模拟器很慢

突然模拟器变得很卡,页面之间的切换像慢动作一样慢,页面内反应却一点都不满。以为是模拟器上跑过的app太多,内存消耗完了,但是reset模拟器后还是一样的卡,难不成是感染病毒了!上网搜索,发现是设置的问题:点击模拟器,把debug下的show animations 前面的钩去掉即可。

2017-01-22 22:26:54 2288

转载 ios view的frame和bounds之区别(位置和大小)

http://blog.csdn.net/mad1989/article/details/8711697前言:学习iOS开发有一段时间了,项目也做了两个了,今天看视频,突然发现view的frame和bound两个属性,发现bound怎么也想不明白,好像饶你了死胡同里,经过一番尝试和思考,终于弄明白bound的含义。PS:我承认我是一个很笨很笨的人。所以现在记录下

2017-01-21 15:28:45 184

原创 swift字典使用

1、创建字典:var dic:DictionaryString,String> = ["学生":"sss","老师":"ttt"];2、添加新值:dic["门卫"] = "www" 注:如果对应的key已经存在,则会更新原来的值3、修改字典值:dic.updateValue("s2s", forKey: "学生")注:如果不存在对应的key,则会作为新值添加到字

2016-08-26 14:18:10 464

原创 AFNetWorking的两个使用场景(请求网络数据、图片上传)

AFNetWorking是一个构建在NSURLConnection和NSOperation的轻型网络库,可以方便的实现各种网络请求,比如最常见的http(https)的post、get请求、图片的上传等,下面详细介绍使用方法:一、将AFNetworking导入项目中(最好使用cocoapods来管理),并添加头文件: "AFNetworking.h"二、网络数据请求:1) 、GET方式

2016-08-19 13:01:23 474

原创 iOS oc与js的交互之WebviewJavaScripteBridge

在app中嵌套webview,让js和oc之间的交互是一种很灵活的应用,特别是在电商这一块。先看看不适用第三方框架时oc和js之间是怎么调用的:1、oc调用js:通过webview的stringbyEvaluteJavaScriptFromString:- (nullableNSString *)stringByEvaluatingJavaScriptFromString:(N

2016-08-17 15:04:30 393

原创 iOS链式编程

链式编程是讲多个操作通过点操作串联起来,方便函数的调用和可读性,比如说大家常举的计算器例子:NSInteger result = adder.add(4).sub(1).mult(2).div(3);表示(4+1)*2/3,是不是很方便很直观。我们知道,如果是c++的实现话链式操作是很简单的,因为c++的函数调用就是通过点操作调用的,只需要返回对象本身就可以实现链接了。但是oc就不行了,因

2016-08-12 11:10:36 280

原创 iOS 页面之间的传值

ios页面之间的传值是很常用的,常用的方法有这几种:delegate、block。下面就以 viewController和nextViewController之间的传值为例,过程是这样的:1、viewController pushViewController到nextViewController。2、nextViewController再popViewControllerAnima

2016-08-11 16:38:25 197

原创 iOS 修改只读变量

在iOS中只读变量是不应该被修改的,特别是框架类的只读变量,修改了可能带来莫名其妙的错误! 但是不应该不等于不能修改,通过动态运行时还是可以修改的:比如:@interface ReOnlyObject : NSObject@ property (nonatomic, readonly) NSNumber *number;@end在使用时:

2016-08-11 14:37:30 1449

原创 iOS app启动另外的app

在一个app中启动另外的app,这个应用很常见,实现也是很简单的,只需要注册一个URL,然后通过UIApplication的 openURL就可以了就可以了:比如 A 启动 B一、在 B(被启动的app) 中注册URL:1、找到info.plist并打开,点击Information property list 右边的加号新建一个项,新项的名字改选择URL types,它是一个数组类型,

2016-08-09 18:49:07 551

转载 认识CoreData-高级用法

该文章属于原创,转载请注明: http://www.jianshu.com/p/01f36026da7d在之前的文章中,已经讲了很多关于CoreData使用相关的知识点。这篇文章中主要讲两个方面,NSFetchedResultsController和版本迁移。 文章题目中虽然有“高级”两个字,其实讲的东西并不高级,只是因为上一篇文章中东西太多了,把两个较复杂的知识点挪到这篇文章中。

2016-08-07 16:28:47 314

转载 认识CoreData-使用进阶

该文章属于原创,转载请注明: http://www.jianshu.com/p/a4710356244d之前两篇文章都比较偏理论,文字表达比较多一些,但都是干货!学习时先理解理论知识,才能更好的帮助后面的理解。在这篇文章中,将会涉及关于CoreData的一些复杂操作,这些操作会涉及分页查询、模糊查询、批处理等高级操作。 通过这些操作可以更好的使用CoreData,提升CoreDat

2016-08-07 14:09:24 232

转载 Objc与JS间相互调用

from: http://my.oschina.net/fwj/blog/471035?p={{page}}过去3、4年都在进行跨平台的混合应用开发,但一直没有系统梳理跨平台技术的底层原理,趁新工作未正式入职,这里整理一下。跨平台的一种实现是基于webview。所谓webview,实质是在原生app中打开一个内嵌浏览器,具体到iOS平台就是使用UIWebView这个控件。然后就很容易理解了,我

2016-08-07 11:56:45 264

转载 认识CoreData—基础使用

from: http://www.cocoachina.com/ios/20160801/17248.html第一篇文章中并没有讲CoreData的具体用法,只是对CoreData做了一个详细的介绍,算是一个开始和总结吧。这篇文章中会主要讲CoreData的基础使用,以及在使用中需要注意的一些细节。因为文章中会插入代码和图片,内容可能会比较多,比较考验各位耐心。文章中如

2016-08-06 17:38:37 272

转载 认识CoreData—多线程

from: http://www.cocoachina.com/ios/20160804/17282.html导读:认识CoreData—初识CoreData认识CoreData—基础使用认识CoreData—使用进阶认识CoreData—高级用法正文:CoreData使用相关的技术点已经讲差不多了,我所掌握的也就这么多了....

2016-08-06 11:56:05 224

转载 在多线程环境中使用CoreData

链接:http://www.iliunian.com/2896.html上回书说道,其实CoreData学起来也没有很复杂,我们其实增删改查都和别的ORM大同小异。但是世界总是很复杂的,一根筋的去考虑问题很容易卡到蛋,默认情况下我们的代码都在Main Thread中执行,数据库操作一旦量多了,频繁了,势必会阻塞住主线程的其他操作,俗话说,卡住了。这个世界天然是多线程的,所以我们

2016-08-03 09:41:09 344

原创 ios 数组里面的对象都执行一个方法

1、遍历数组,然后每个对象执行:    [array enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx,BOOL * _Nonnull stop) {        [obj performSelector:@selector(doSomthing)];    }];2、更优雅简

2016-08-01 16:08:36 2405

原创 The reft operation of '&' is a garbage value

这个警告应该是xcode的静态分析的警告。先看看百度翻译对garbage的翻译: 垃圾; 脏东西; 丢弃的食物; 无用的数据也就是说这个被警告的变量里面有脏数据,比如使用未初始化的数组(inbuf[4]):unsigned char inbuf[4];unsigned char outbuf[3] = {0,0, 0};outbuf [0

2016-08-01 14:25:14 352

转载 iOS触摸事件处理

链接:http://www.cnblogs.com/Quains/p/3369132.html主要是记录下iOS的界面触摸事件处理机制,然后用一个实例来说明下应用场景.一、处理机制界面响应消息机制分两块,(1)首先在视图的层次结构里找到能响应消息的那个视图。(2)然后在找到的视图里处理消息。【关键】(1)的过程是从父View到子View查找,而(2)是从找到的那

2016-07-31 15:04:05 193

转载 iphone数据存储之-- Core Data的使用(一)

链接:http://www.cnblogs.com/xiaodao/archive/2012/10/08/2715477.html一、概念1.Core Data 是数据持久化存储的最佳方式2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型在Mac OS X 10.5Leopard及以后的版本中,开发者也可以通过继承NSPersistent

2016-07-29 09:36:19 200

转载 使用FMDB事务批量更新数据库

链接:http://www.cnblogs.com/zzltjnh/p/FMDB_Transaction.html今天比较闲看到大家在群里讨论关于数据库操作的问题,其中谈到了“事务”这个词,坦白讲虽然作为计算机专业的学生,在上学的时候确实知道存储过程、触发器、事务等等这些名词的概念,但是由于毕业后从事的不是服务器方面的工作,对数据库方面的知识一直停留在理论阶段,在iOS中有两种比较常用

2016-07-27 09:47:10 390

原创 iOS FMDB保存图片

FMDB是对sqlite的封装,把面向过程,c接口封装成了大家熟悉的oc接口,并且对sqlite中令人头疼的线程安全做了处理,当然不变的是还是跟sqlite一样,需要我们写NSString类型的sql语句,一不小心拼错了,检查各大半天,小吐槽一下。言归正传,FMDB是没有图片类型的字段的,但是提供了更灵活地方法:blob类型,也就是二进制,所以我们只要把图片转化为NSData就可以存放了。

2016-07-26 18:04:36 3696

转载 libsqlite3.dylib与libsqlite3.0.dylib区别

链接:http://www.cnblogs.com/easonoutlook/archive/2013/01/05/2845634.html实际上libsqlite3.dylib本身是个链接,它指向libsqlite3.0.dylib。也就是说在项目里如果你添加libsqlite3.dylib和添加libsqlite3.0.dylib其实是添加了同一个文件,没有区别,那为什么要添加

2016-07-25 16:16:52 292

原创 iOS 数据持久化之-NSUserDefaults

NSuserDefaults在iOS中特别适合于存储轻量级数据:用户和密码,是否已登录标志,mjrefresh的记录上次刷新时间等。NSuserDefaults可以存储的数据类型有:NSNumber、NSString、NSDictionary、NSArray、NSData、NDDate基本覆盖了常用的数据类型,以下是它们使用的例子:    //NSNumber    [[N

2016-07-25 10:44:22 209

原创 gcd中同步异步并行串行线程数目的关系

gcd的功能很强大,使用起来也很简便,但理解起来还是有些费劲的。下面记录的主要是gcd同步异步并行串行得关系,gcd的功能远不止这些。一、串行队列1、同步运行dispatch_queue_t searialQueue =dispatch_queue_create("SearialQueue",DISPATCH_QUEUE_SERIAL);dispatch_s

2016-07-24 11:58:37 856

原创 UITabBar和UIToolbar的区别

大家都知道在UITabBarController的底部有一个tabbar,也就是UITabbar对象,用户控制器之间快速切换。UINavigationController控制器的底部有一个toolbar(默认是隐藏的,可用通过[self.navigationControllersetToolbarHidden:NO])显示出来,UIToolBar对象,可以在上面添加UIBarButtonI

2016-07-23 18:39:24 806

转载 ios 导航栏,标签栏,工具栏和状态栏

链接:http://www.cnblogs.com/Piosa/archive/2011/12/16/2290811.html状态栏虽然您难以控制状态栏的内容,但是您可以定制它的外观,并在一定程度上定制它的行为。具体来说,您可以:设定网络活动指示器是否应该可见。如果您的应用程序正在执行的一项网络操作会持续几秒钟以上,则应该显示网络活动指示器。如果该网络操作将在几秒钟之内

2016-07-23 18:19:27 1738

原创 applicationiconbadgenumber不显示

原因在ios8及之后,需要用户授权才能显示:UIUserNotificationSettings *settings = [UIUserNotificationSettingssettingsForTypes:UIUserNotificationTypeBadgecategories:nil];[[UIApplicationsharedApplication] re

2016-07-23 13:45:47 288

转载 iOS开发UI篇—程序启动原理和UIApplication

链接:http://www.cnblogs.com/wendingding/p/3766347.html一、UIApplication1.简单介绍(1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序。(2)每一个应用都有自己的UIApplication对象,而且是单例的,如果试图在程序中新建一个UIApplica

2016-07-23 13:29:26 270

原创 ios创建空项目

1、先创建一个 Single View Application。2、删除Main.storyboard和launchScreen两项。3、找到info.plist文件 删除其中的Launch screen interface file base name和Main storyboard file base name两项。4、在TARGETS下,general下找到 App Icon

2016-07-23 12:39:16 282

转载 UINavigationController 、UINavigationBar 、UINavigationItem 超清晰直观详解

链接:http://www.cnblogs.com/ygm900/p/3659619.htmlUINavigationController 部分1、 UINavigationController 是一个容器类。里面盛放的是UIViewController。容器的意思是,如果你不放入UIViewController,里面就是空的,什么也没有。这个容器在

2016-07-23 11:27:51 408

ios 导航栏上滑隐藏下拉显示

ios 导航栏上滑隐藏下拉显示, 常用于个人主页等,头部的图片会随下拉不断放大,松开后图片大小还原。

2017-03-05

ios 上滑隐藏导航下拉显示导航栏实现

ios 上滑隐藏导航下拉显示导航栏, 常用于个人主页等,头部的图片会随下拉不断放大,松开后图片大小还原。

2017-01-22

UITableViewCell的绘画

UITableViewCell的绘画, 是对ABTableviewcell的简化

2016-06-08

oc循环引用问题

发表于 2016-06-11 最后回复 2016-08-14

arc和非arc下的retaincount问题

发表于 2016-06-27 最后回复 2016-07-13

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

TA关注的人 TA的粉丝

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