自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

RITL_Y

只有无形的事物,方能在时光中永不褪色

  • 博客(81)
  • 问答 (2)
  • 收藏
  • 关注

原创 欢迎去简书继续支持博主

由于近期一直活跃在简书,CSDN的可能好多朋友的私信以及通知不能及时回复,如果朋友想继续支持博主,欢迎去博主的简书主页:RITL的简书十分感谢,有什么问题楼主看到后会立即回复的O(∩_∩)O

2017-01-16 10:43:06 1159 1

原创 数据结构------遍历二叉树的那些事

数据结构从大学学习之后,说实话忘记的差不多了,近期便在复习数据结构,刚好看到二叉树遍历这里了,想留下一下关于遍历二叉树的方法,以防楼主忘记,博文中用的语言为Swift.创建的树TreeNode结点结构如下:/// 树节点class TreeNode{ var val : Int //数值 var left : TreeNode? //左子树 var right :

2016-11-10 10:05:08 754

原创 iOS开发------获取系统联系人(Contacts篇)

Contacts.framework是Apple在 iOS9.0 替代AddressBook.framework的框架,至于AddressBook是做什么的框架,楼主默认看到博文的开发者是知道的 O(∩_∩)O。如果想了解AddressBook的使用欢迎查看一下楼主之前关于AddressBook的博文,本篇不做过多的缀余: iOS开发——获取系统联系人(AddressBook篇) iOS开发—

2016-10-19 11:52:05 8129

原创 Swift 3.0 出现 Result of all to 'XX' is unused 警告 解决

近期楼主为了继续熟悉Swift,很多的Demo也是努力的让自己使用Swift编写 ,不过在使用SnapKit的时候,总会冒出很多的警告,仔细一看,警告的原因几乎就是同一个,如下图: 当然,警告对于大家来说已经非常熟悉了,并且很多朋友似乎也已经习惯无视警告了,但是对于楼主这个稍微有强迫症的人来讲 (为什么说是稍微有,其实楼主只是不喜欢自己写的代码存在很多的警告,不然就要动手改动别人的东西啦o(>﹏<)

2016-10-10 15:37:39 2830

原创 iOS10的推送框架UserNotifications以及UserNotificationsUI

iOS10发布以来,相信各位开发者能踩的坑也应该踩得差不多了;但也许正是因为每次苹果都会更新比较多的东西,才会觉得搞iOS很有意思吧。(不知道大家会不会觉得楼主这种想法有点坑?)推送是iOS10系统变动比较大的一个地方,对于这种大变动不瞅瞅一下着实不符合楼主的性格,那么楼主就在求知欲的推动下(毕竟还得给自己的项目进行适配不是..)就花了点时间对UserNotifications这个框架进行了一个整体

2016-09-30 12:48:07 3580 2

原创 iOS开发------Widget(Today Extension)插件化开发

iOS10.0发布啦(貌似过去有点时间了吧 - -),在宏观带给我们使用体验的提升之外,更多的是带给iOS开发者一定的欣喜。因为我们又要学习新东西来适配10啦。博文所说的Widget并不是iOS10系统新推出的功能模块(其实在iOS8上就已经出现啦,只不过楼主在iOS10发布之后才算真正的了解它,实在是惭愧呀),之前仅仅是存在于通知那一栏中,至于多隐蔽我就不说了吧。但在系统10之下,它

2016-09-21 15:59:30 13956 8

原创 load方法和initialize方法的理解

load 和 initialize 两个方法算是两个特殊的类方法了,今天偶然从草稿箱中看到还有本篇未完成的博文,如果说当初了解它们是为了应付面试,那么工作之后,了解它们就变成了“必修课”,相比于网上某些十分官方的说法,个人还是喜欢用大白话来诠释自己对它们的理解,这里就写一下个人对这两个方法的理解,如果有理解不到位的地方,还请指正,3Qload方法个人理解从方法的名字来看,它应该是在一个类进行装载的时

2016-09-02 10:12:48 6795

原创 iOS开发------Apple Pay(PassKit.framework篇)

由于项目突赶进度,从上次发布iOS开发——Apple Pay(证书配置篇)过去有挺长一段时间了。俗话说凡事应有始有终,所以还是决定趁空余时间将这篇Apple Pay(PassKit.framework篇)补充完整,万一有相同疑问的小伙伴呢,好有个参考,也不枉花费的时间。说实话,网上其实有很多介绍Apple Pay的文章,但总是感觉不太详细,在探索的过程中没有给我太大的帮助,便把更多的时间执着于开发文

2016-08-24 15:17:34 2476 3

原创 iOS开发------Apple Pay(证书配置篇)

苹果支付(Apple Pay)中国上线有段时间了,也许是因为国人还不太习惯这种支付方式,也有可能楼主待的城市比较小,从日常生活中感觉用它做支付方式的人还不是很多。但楼主一般能用Apple Pay的时候基本也不太用其他的支付方式(除非有优惠,哈哈)在Apple Pay上线之后,美团、京东等常用支付的App都在第一时间支持了它,上线第二天楼主也绑卡体验了一下传说中的Apple Pay,感觉好用的同时还真

2016-08-16 17:30:32 5925 1

原创 iOS开发------简单实现图片多选功能(Photos.framework篇)

Photos.framework是iOS8后苹果推出的一套替代AssetsLibrary.framework获取相册资源的原生库,至于AL库,欢迎大家给博文iOS开发——简单实现图片多选功能(AssetsLibrary.framework篇)提出宝贵的意见。楼主大部分都是查看官方开发文档进行探索的(当然,实在不明白了也会请求google 的 0.0 )。这里就说一下个人的看法吧,相比AL库,Phot

2016-08-09 17:00:34 12296 8

原创 iOS开发------iOS 10 由于权限问题导致崩溃的那些坑

6月份的WWDC大会结束有一段时间了,相信很多开发者也是在努力工作的闲时用着Xcode8 Beta版学习着新的特性吧。使用Xcode写自己的东西有一段时间了,在使用Xcode8编程时不得不说我特别喜欢改后的默认字体,哈哈,当然默认字体是可以调回去的,只不过默认的字体感觉看起来比以前舒服了,毕竟不会像之前那么”字正腔圆”了。步入正题吧,不然慢慢的就会成为话唠了。凡事总会有个导火线吧,想记录权限问题的

2016-08-01 18:39:06 35223

原创 iOS开发-------基于WKWebView的原生与JavaScript数据交互

WKWebView是iOS8.0之后用以替代UIWebView的网页浏览器,包含在WebKit中,可以通过 @import WebKit 导入。如果工程需要适配iOS7,那么请在iOS7中使用UIWebView。如果是iOS8.0以上,请果断的选择WKWebView吧,无论是从功能,加载速度还是性能上,它都是不二的选择。毕业回公司有段时间了,与其说比较忙,不如说最近接触的东西有点小

2016-07-30 19:01:20 15899 3

原创 iOS开发------XML原生解析(NSXMLParser篇)

由于项目需要,最近就研究了一些与视频流相关的知识,在学习的过程中发现,JSON作为轻量级的数据传输格式就显的非常不便.当然,这句话的意思就是说在学习过程中碰到的XML格式数据居多了呗,这时掌握一些XML的解析方法就显得重要了。尽管之前转发过一篇介绍XML解析的博文网络数据的XML解析,但总觉得千转不如一写,所以就花时间研究了一下。很多第三方代码其实能够很好的帮助我们解析数据,但由于楼主的个性,在认可

2016-06-02 16:40:47 5224

原创 iOS开发------跳转至当前Application Setting界面

最近回归公司项目的时候,感觉目前定位时用户体验稍差,稍作考虑,还是决定参考一下高德地图的用法。 在使用高德地图的时候,如果我们故意的将定位权限关闭,那么在使用它进行定位的时候,它会给我们一个友好提示,当点击设置的时候就会跳到当前App的设置界面,不仅增强了用户的体验而且提高了代码的健壮性,图例如下: 由于多个控制器都会用到此方法,所以决定在基类中实现如下类目://实现控制器基类的一个类目@imp

2016-06-01 10:08:14 2120

转载 iOS开发------常用正则表达式语法以及常用正则

博文转自:zhaojinqiang12的博客-iOS中的正则表达式运用,更加详细的内容请关注以上博文Thanks()什么是正则表达式正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分。它可以迅速地用极简单的方式达到字符串的复杂控制。 正则表达式的语法特殊符号^和$他们的作用是分别指出一个字符串的开始

2016-05-19 18:35:00 2561

原创 Mac OS X下安装配置MySQL数据库

最近需要在电脑上自己搭一个数据库,由于在大学期间使用的是MySQL,也算是对它情有独钟吧,这次在Mac上依旧就使用MySQL吧,在这里记录一下安装以及配置的过程(注:博文中使用的OS X版本为:10.11.4) MySQL下载要想配置,当然需要安装才能配置啦 (0.0,好像说了废话啦,哈哈)进入官网下载界面一般情况,首先想到的必然会是官方网站,这里给出下载地址:MySQL Server官网下载

2016-05-16 14:56:55 13416 1

原创 iOS开发------通讯录分组排序(UILocalizedIndexedCollation)

最近写了两篇关于通讯录的博文,通过前两篇博文的简要描述与介绍,基本是能够读出通讯录中的联系人,并能完成对通讯录增删改的操作,但在真实开发中,列出联系人之后是需要分组的,毕竟不能把联系人无规律的排列在tableView上吧。那么这里就顺水推舟,再介绍一下针对联系人分组特别方便的原生类:UILocalizedIndexedCollation效果图的先后对比UILocalizedIndexedCollat

2016-05-13 16:23:10 3724

原创 iOS开发------操作通讯录(AddressBook篇)&通讯录UI(AddressBookUI篇)

上篇博文简要的介绍了如何使用AddessBook.framework来获取系统通讯录,但有时候又想对其做修改怎么办,那么这篇博文就总结一下如何修改系统的通讯录吧。 修改系统通讯录的方法两种方法通过AddressBook.framework的各种函数来完成对AddressBook的操作。通过AddressBookUI.framework中提供的系统UIViewControl

2016-05-13 08:45:18 9953

原创 iOS开发------获取系统联系人(AddressBook篇)

AddressBook是Apple提供给我们获取系统联系人的一个很方便类库,与其说方便,其实刚开始还是比较崩溃的,从开发文档来看,它还是偏向于C语言,并且不在ARC的控制之下,虽然在iOS9.0之后会被Contacts.framework替代,但在工作中要对最低版本进行兼容,了解一下这个类库还是很有必要的。这里就介绍一下获取联系人信息的那些方法,对于修改,添加删除等操作,想留在下一篇介绍Addres

2016-05-11 11:33:56 8441 10

原创 iOS开发------手动约束布局出现NSAutoresizingMaskLayoutConstraint冲突(解决)

十分感谢一下博客让我解决了问题: ios 约束冲突NSAutoresizingMaskLayoutConstraint最近手写约束布局代码,适配不同屏幕的时候,出现了一个很奇怪的问题,不报错也不崩溃,最终的效果也是理想的,但就是出警告。原因是约束的大小不固定,需要根据屏幕的比例大小进行相应的变值。程序是在iPhone5s上进行的开发,在那个时候是没有问题的,但运行在iPhone6s的时候,就会出现

2016-05-05 14:30:08 4960

原创 iOS开发------获取iPhone的具体型号

开发过程中后台有这么一个需求,需要将iPhone的手机型号传过去,就写了一个UIDevice的Categroy来获取当前手机的具体型号,自然也包含了最新的SE,当然,这篇博文也会根据最新iPhone的发版不断地更新。没啥好说的,直接上代码吧,声明文件如下://// UIDevice+YiPhoneModel.h// CityBike//// Created by YueWen on 1

2016-05-04 14:23:45 3930

原创 iOS开发------使用Xcode编译器定位抛出异常的位置

虽然Objective-C对异常进行了封装,但日常敲代码的时候,往往会因为马虎,代码段出现了一点小小的错误,自己却发现不了。当然,很多时候,Xcode就会直接报错(也就是俗话说的崩了)告诉我们,这个时候只要根据报出的异常堆栈,就可以找到错误的具体位置。可是有一种情况,相信大家肯定遇到过,程序不崩或者崩了但是没有告诉我们异常堆栈,但错误原因告诉我们了:*** First throw call stac

2016-05-02 19:43:03 2704 3

原创 iOS开发------简单实现图片多选功能(AssetsLibrary.framework篇)

AssetsLibrary.framework是iOS7.0之前用来获取手机所有的媒体资源的一个静态库,在iOS8.0之后完全可以用Photo.framework来代替,但因为涉及到适配iOS7,所以这个库用的还是比较多的。实际上,多选图片有很多很好用的第三方,但找到一个完全符合自己需求的第三方也不是那么容易,就算找到,如果不懂,也不是很好修改代码才对,所以了解一下这个库也是很有必要的,这里就记录一

2016-04-20 14:58:06 4912

原创 iOS开发------使用自定义.bundle中的资源文件

在进行资源封装的时候用到了自定义的.bundle文件,之前在很多的SDK中也可以看到它的身影,就稍微了解了一下,不难,就是在引用里面文件的时候浪费点时间,浪费的原因下面也有说,这里就记录一下如何自定义创建.bundle以及如何引用里面的资源文件.在使用.bundle文件的时候需要注意:这个文件在运行的时候不会被编译到,So,此文件中存储的内容应该是资源文件,不能放编译的文件(比如能编译运行的代码)。

2016-04-18 16:38:32 11139 1

原创 iOS开发------程序实现国际化Localizable

研究AssertsLibaray.framework以及Photos.framework这两个原生静态库的时候,相册的组名需要用到国际化来标示一下,虽然系统提供了组名的国际化,但是稍微的了解了一下国际化还是有必要的。就在这里就稍作记录作为参考。语言国际化就是为不同的语言做的适配,就像iPhone一样,根据不同的语言会将文字变成相应的语言。以下的操作的编译器为Xcode 7.3内容国际化1、创建字符串

2016-04-15 15:34:42 4878

原创 Attempt to present VC whose view is not in the window hierarchy 解决

具体的问题如下:2016-04-11 10:03:01.603 312312321[4377:61862] Warning:Attempt to present <UIViewController: 0x7fbe686a8690> on <ViewController: 0x7fbe6a024e00>whose view is not in the window hierarchy! 这个警告

2016-04-11 11:07:01 1875

原创 GitHub 的设置&代码上传

使用GitHub也有段时间了,想起第一次用GitHub也是挺曲折的,从配置秘钥到上传,但是感觉还挺麻烦,就想总结一下如何配置SSH秘钥以及如何上传代码至GitHub,这里所有的操作都是在OS X系统下的进行,本人使用的时间不是很长,所有如果有更好的用法或者解说错误,请告知一下,Thanks() GitHub验证方式上传GitHub的时候是需要身份验证的,而验证身份的方式有两种: 1. 通过用户名

2016-04-08 11:26:53 5238

原创 MaskDown中添加图片定义大小并居中问题解决

MaskDown语法,会让人觉得写东西不再是那么累的事情,话说解除这个语法时间不算长了,很喜欢这种可写即可视的感觉,无论是修改还是写东西都是很方便。但对于刚学会不久的我来讲,不能修改图片的大小着实很恶心,本来一张很少的图,上传到Blog中显得硕大,布局很难看有木有,能不能自定义大小,能不能居中!是可以的,因为MaskDown是支持HTML语言的呢。网上有的人说需要用第三方进行剪切,然后再将

2016-04-06 21:12:42 1732

原创 iOS开发------本地存储-NSKeyedArchiver & NSKeyedUnarchiver(归档)

iOS下有很多中本地存储方式,但相比于CoreData,很多情况下还只是轻量级的数据,对于不是很复杂的数据,个人还是比较喜欢直接用归档或者plist文件来存储信息,毕竟存储的信息量没有那么大,用归档会比较轻便。说到本地存储,不得不说NSUserDefaults,它是系统提供给我们很好的本地存储容器,比如单个的基础属性的存储用NSUserDefaults也很方便,但是如果存的是一个我们自己自定义的Mo

2016-04-06 17:22:19 2358

原创 iOS开发------实现图片下载缓存到本地

在开发过程中很多人都会使用SDWebImage来进行网络图片的缓存,说实话,这个第三方也确实好用,但依照本人的性格,还是一直在想做一版自己的本地缓存,比如下载的图片存到本地,下次再有相同的图片需要加载,就不用再花冤枉流量来下载了,这次的尝试虽然相比SDWebImage会差很远,但是这只是一个开始,毕竟本人的项目经验有限,但会在以后的学习中不断的对这个代码进行优化,毕竟自己的代码可控性要比第三方大得

2016-03-20 19:42:38 7134

原创 iOS开发------仿知乎上下滑动切换页面

放松的时候看看知乎,生活不解的时候问问知乎,这貌似已经成为了生活中的一种习惯,它独特翻页方式也是本人喜欢的一个原因,通过上划与下滑进行页面的翻页,不必返回再进入下一个页面,显得非常的简介并且人性化,这里就模拟知乎进行一次模拟滚动换页,希望能给想做这种效果的人一种思路,实现的大体思路就是在ScrollView中嵌套ScrollView来感应达到切换效果。利用工作之余就做了一个类似功能的小Demo,当然

2016-03-14 19:51:49 11007

原创 iOS开发------响应TableView下拉设置NavigationBar的透明度

最近工作不忙的时候会偷懒玩一会手机,自然会发现各大App中的一些小细节很吸引人,这次看到一个很有意思的效果,其实这个效果应用的已经很普遍,就是响应scrollView的下滑,NavigationBar从无到有(其实就是透明度从0到1的过程),看起来总是简单的,实现起来总会遇到点麻烦,这次也一样,经过查阅相关技术博客以及花点时间研究原理,也慢慢的理解实现了出来,个人还是觉得了解原理要比直接拿来代码要

2016-03-13 11:02:32 2082

原创 iOS开发------类似UI浏览器上方的滚动状态栏

前几天翻手机的时候,被UC浏览器的一个小细节吸引,就是上方的一个滚动栏,他的细节是什么,估计可以打开UC浏览器或者看完下面的描述会有所了解,刚开始会觉得很简单,但在即将结束的时候,还是感觉自己太天真了,具体的细节请看下面的模拟图

2016-03-07 19:19:25 1334

原创 iOS开发------runtime关联对象(动态添加属性)

如果想用一个系统的类,但是该类又不满足需求,首先肯定是继承自系统的类,重新构建一个类,但这种方法,如果我们需求的类之比原来的类多一个属性呢,继承似乎又显得比较麻烦,这个时候也许用runtime的关联对象就可以办到了。要想在runtime中完成动态添加属性,需要导入#import<objc/runtime.h>这个头文件。然后需要了解下面两个方法:/** * 设置关联对象 * * @para

2016-03-01 10:43:07 2991

原创 iOS开发-------属性用copy、strong修饰的区别

Copy,Strong的区别需要了解点内存管理的知识,Strong是ARC下引入的修饰,相当于手动管理内存(MRC)下的retain,在相关代码下,常常看到有的人用copy修饰NSString,NSArray,NSDictionary..等存在可变与不可变之分的对象,常常会用copy,而不是strong,下面代码来解释一下strong与copy的区别:先说明一下什么叫做浅拷贝,什么叫做深拷贝;

2016-02-29 19:49:24 7465

原创 iOS开发------runtime之动态添加方法(动态决议,请求转发)

RunTime中实例变量调用方法的步骤:1、在该实例变量的方法缓存列表中查找方法,如果找到执行.2、如果没找到,会去类结构中的相应方法列表中进行查找,如果找到执行.3、如果方法列表没有找到该方法,那么就从父类中进行1、2部操作.4、如果直到根类仍然没有找到方法,那么就会报错:unrecognized selector sent to instance 0x1005046c0.

2016-02-28 16:13:14 3654

原创 iOS开发-------初探运行时runtime

对于iOS的开发者,相信Objc的RunTime机制肯定都听说过,了解RunTime的机制,对自己的提高不言而喻,最近在一直学习RunTime机制,对此写下点学习过程的收获,以便以后查阅,也方便理解,本人研究RunTime时间不长,如果有理解不对的地方也请告知,共同进步。     什么叫RunTime呢,大家也都知道Objc的底层是C语言完成的,在运行的时候,会将Objc的代码转换成C

2016-02-22 08:47:16 971

原创 GitHub Push出现的The local repository is out of date解决

在此之前,将3D Touch文件上传至GitHub的时候,用Xcode上传Push的时候出了The Local respository is out of date问题,如下图          看提示来讲,应该是有东西没有下载下来,导致个别文件不同步,从而没有办法Push,所以就pull了一下,接着就出现了这个问题         Xcode不给力

2016-02-20 19:50:36 9752

原创 iOS开发-------3D Touch之Peek,Pop,UIPreviewAction

上一篇博客说了,如何在创建以及响应ApplicationShortcutItem的方法,那么现在再来应用一下如何响应Peek、Pop操作,什么叫Peek操作呢,就是说当稍微重按得时候会出现一个预览视图,在此时可以上划出现快捷按钮,再按一下会弹到详细视图。对于Peek以及Pop操作,楼主也感谢下面的博客iOS9 3D Touch 使用第二篇首先为了能快速构建Demo,

2016-02-20 14:56:39 3099

原创 iOS开发-------3D Touch之ApplicationShortcutItem

自从iPhone 6s / 6s Plus 发布之后,3D Touch给了APP一种新的活力,对于大部分的果粉或者年轻人来说,应该已经很习惯这个新特征了,很多的主流APP也在第一时间适配了3D Touch,为了让自己的APP显得高大上,适配3D Touch就是必不可少的一步了,如何对3D Touch进行开发,网上也有很多的博客,楼主只是学习着应用一下。在众多的博客中,很感谢下面的博客,

2016-02-20 14:22:50 2504

空空如也

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

TA关注的人

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