自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 iOS - JLRoutes路由跳转

最近新开一个项目 , 老大想把所有的跳转逻辑 , 比如push 全部抽取到一个类中 , 实现模块解耦 ,然后提到了一个叫JLRoutes的库 . 然后我开始百度 , 发现网上基本上没有任何关于这个库的资料 , 有也仅有一两篇 , 并且是完全和我想要实现的东西不着边 . 于是我github上找到源码 , 开始解读作者的解释 , 然后发现作者写这个库的初衷在于app外部跳转 , 也就是网页跳转和app

2016-10-30 19:18:52 4923 8

原创 iOS - 简述二次封装AFN,设置请求头,https安全策略

以前都是直接复制粘贴二次封装好的代码 , 现在都忘了怎么写 . 恰好当前项目要用到请求头 , 在网上学习了一下 , 统一敲了一遍 .自从到了现在公司 , 才发现要学的东西太多了 , 当然 , 有个好的老大比什么都重要… 能学到不少的东西…创建两个类 , 一个类用于封装AFN , 一个类用作返回值模型 response模型类#import <Foundation/Foundation.h>@inter

2016-10-29 19:57:13 2494

转载 iOS - Xcode8新特性以及坑

http://www.cocoachina.com/cms/wap.php?action=article&id=17830

2016-10-29 16:33:29 455

转载 iOS -开发中的HTTPS

转自 https://zhuanlan.zhihu.com/p/22749689

2016-10-29 16:29:01 453

原创 UI - 自定义MJRefresh动画 , 自定义布局

MJRefresh框架在大部分中的项目中都能见到 , 但是随时用户体验意识的增强 , 越来越多的需求被提出 . 已不完全满足于在上拉或者下拉提示简单的文字了 . 经常我们看见越来越多的App用到加载动画 .而以上的需求 , 在github上已经有全面的使用说明了 , 而唯一缺少的是自定义布局动画效果, 直接上代码吧 查看框架类 —>MJRefreshGifHeader , 继续查看继承关系 ,

2016-10-26 18:27:02 3092 1

原创 UI - 关于自动调整内边距问题的细节

iOS 7 以后 , 苹果推出了 控制器 automaticallyAdjustsScrollViewInsets 属性 , 目的在于自动帮我们调整所有继承于 scrollView控件的内边距 ,比如tableView , collectionView . automaticallyAdjustsScrollViewInsets 默认开启 .具体例子1 : 默认情况下 automatically

2016-10-24 17:47:29 2622

原创 iOS - 内联函数简述

最近看公司的项目 , 里面很多的static inline 修饰的函数 , 一脸懵比的我 , 只好百度百度 … 然后大致整理了下.什么是内联函数 ? 内联函数也是函数 , 只是用 inline修饰而已.内联函数和宏定义的区别 ?内联函数和宏非常相似 , 但是效率比宏要高 , 且安全性也要高于宏 . 宏定义 , 只是简单的表面替换 , 且替换时机为预编译处理时 . 而内联函数不一样

2016-10-24 11:45:06 913

原创 iOS - 多控制器切换(带滑动动画)

主控制器 ,管理控制器 .h文件//宏#define kScreenWidth [UIScreen mainScreen].bounds.size.width#define kScreenHeight [UIScreen mainScreen].bounds.size.height#import "MYMainViewController.h"#import "MYFirstViewCo

2016-10-23 12:53:21 3894

原创 iOS - 项目国际化 , 应用内修改app语言

在做项目中 , 如果是人群使用不那么局限的app就可能涉及到国际化问题 , 国际化 大致可以分为 代码部分国际化 , xib 和故事板国际化 , 获取权限提示国际化 (访问相册权限 , 定位权限等等..)和应用内切换语言前言 : 创建的string文件 , 如果是英文资源的文件 ,系统会生成一个en.lproj文件存放string文件 , 简体中文则是 zh-Hans.lproj文件一 . 首先 ,

2016-10-21 23:08:44 2514

原创 iOS - 项目中App版本更新逻辑 , 操作

iOS本身自带自动更新 , 前提是用户设置了更新 .但是有用户可能暂时性的 , 或者无意关掉了更新 . 那么当app已经有新版本时 , 应当给用户一个友好的提示 , 表示我们版本有新的了 , 让其选择更新或者忽略 . 本地对版本号进行存储 , 当用户更新版本后 , 展示新版本特性 , 而新版本特别 一般只需在更新完版本后 展现依次 .所以 , 逻辑如下: //1.获取上次登录版本号

2016-10-21 21:03:03 1194

原创 iOS - 自定义转场动画

经常在项目中 , 我们会用到一些下拉菜单 , 或者上弹菜单等 . 简单的做法就是加一层蒙板 , 自定义一个view , 写一下动画就完成了 . 但是这样写的话 , 首先是比较low , 其次是性能略有损耗 , 且比较杂乱 . 其实在iOS中 , 如果是iPad开发的 , 苹果直接就有提供PopoVerController使用 . 如果是iPhone呢 , 也可以通过重写类 , 来实现 #impor

2016-10-18 22:49:35 547

原创 Swift学习记录 -- 18. 便利构造函数

在OC中 , 我们通常会给一些系统的类增加分类 ,或者自定义类继承某个类, 从而为系统类增加一些方法 , 成为工具类 或者小助手 ,全局使用 , 方便咱们写项目 . 在swift中 , 新增了一种语法 , 便是便利构造函数 , 其作用与用法 , 大致和分类相差无几. 例如: 当我们想给导航栏设置自定义按钮时 , 难免会出现许多重复性代码 , 相当冗长 , 也许一个项目中可能会定义几十个UIBa

2016-10-15 20:18:20 360

原创 图形化冒泡排序

今天晚上下班回来 , 一朋友问我想把冒泡排序图形化展示出来 , 是怎样 , 我想大概也就是肉眼比较直观的吧 .既然没说用什么语言 , OC自带方法就可以实现了 , 只是在处理view上稍微麻烦点 .#import "ViewController.h"@interface ViewController ()//存储所有的label@property (strong ,nonatomic) NSMu

2016-10-10 22:04:08 882

原创 iOS - 多控制器切换一(巧用tabbarController)

多控制器切换在项目中应用十分广泛 , 市面上的大部分app都能见到其身影 . 首先我认为 , 多控制器的切换 , 应尽量避免一次性加载所有的控制器页面 , 造成内存飙升 , 应尽量满足用到时加载 , 不用时不加载 . 当然也不乏有例外 , 有的时候为了更好的用户体验 , 而页面又较少时 , 可以一次性加载完毕 , 给用户造成一种切换页面加载迅速,不卡顿的假象 , 具体还是看项目需求. 之前

2016-10-10 14:09:13 5467

原创 Swift学习记录 -- 17.Swift中throws处理方式

//如果在调用系统某一方法时 ,该方法最后有一个throws. 说明该方法会抛出异常,如果一个方法会抛出异常,那么需要对异常进行处理 //在Swift中提供三种处理异常方式 //方式一: try方式 程序员手动捕捉异常 do { try NSFileManager.defaultManager().contentsOfDirectory

2016-10-04 21:04:12 1313

原创 Swift学习记录 -- 16.微博项目初体验

真正学习这门语言 , 也才两天 , 所以拿到小项目 , 虽然知道思路 , 却卡在语法上 . // Appdelegate类import UIKit@UIApplicationMainclass AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(applica

2016-10-04 20:17:09 382

原创 Swift学习记录 -- 15.tableView的创建与基本操作

算是正式接触到真正的东西了吧 , 大概写了下 , 不是太习惯 , 虽然有了extension , 和// MARK:- 分类注释 , 懒加载也不是太习惯 . 可能是OC敲太多了 , 还不是太适应吧 . import UIKitclass ViewController: UIViewController,UITableViewDataSource,UITableViewDelegate{ //懒

2016-10-03 20:38:47 395

原创 Swift学习记录 -- 14.闭包的使用和解决循环引用方法

Swift中的闭包 , 几乎和OC中的block一模一样 , 我个人又比较偏好block , 所以觉得闭包还是蛮不错的 . 在循环引用问题上 , 解决方案也更加简洁// HttpTool类import UIKitclass HttpTool: NSObject { //闭包写法 : (参数列表) -> (返回值类型) func loadData(callBack:(jsonData:

2016-10-03 17:56:18 453

原创 Swift学习记录 -- 13.类的构造方法及属性监听

类的构造方法原理和OC差不多 , 只是属性手动赋值时 , 有些麻烦 , 也有些难以理解 , 不过幸好有KVC , 解决了大部分问题 . 至于属性观察 , 调用的方法想必也不陌生 , 不错 , 正是OC中咱们重写KVO set方法里的那两个方法(willChange和didChange) , 只是名字有所变化 //在创建对象时, 实质上已经是调用了构造函数 let p =

2016-10-03 14:36:58 452

原创 Swift学习记录 -- 12.类的定义及属性

Swift中类的结构和OC , JS都差不多 , 不难理解 , 上手也非常快//定义类 class 类名 : superClass { //定义属性和方法 } //swift中类的属性分为三种: //1.存储属性 :存储实例的常量和变量 //2.计算属性 :通过某种方式计算出来的属性

2016-10-03 12:53:18 491 1

原创 Swift学习记录 -- 11.函数的基本使用

Swift中函数的大致写法规范如下: func 函数名(参数列表) ->返回值类型 { 代码块 return }//注意 : 没有返回值时 ->Void 和什么都不写都可以 //本文中所有用到的函数 , 放在了最下面 //调用函数 test() test2() test3("world"

2016-10-02 20:56:48 377

原创 Swift学习记录 -- 10.可选类型的使用

可选类型是Swift学习中的一个难点 , OC中也没有解包的概念 , 并且其实咱们在运用OC编程中 , 很多的操作都是不安全的 ,然而在Swift中已经感受到了强类型语言的严谨性和安全性 //为什么要有可选类型 ? 因为在开发中,很多时候我们初始化一个变量,而并不会立即对其赋值 , 然而基本数据类型我们可以初始化 0 ,如果是其他类型比如字符串 , 我们没有办法对其直接赋值为nil

2016-10-02 18:01:07 448

原创 Swift学习记录 -- 9.元组的基本使用

元组是Swift中的一大特性 , 也是我自己非常喜欢的一个新增类型 . 元组就好像是一个含纳巨大信息的一个数据体 , 通俗易懂 , 一般是作为返回值的方式使用 . 和数组 , 字典 比较相似 //1.使用数组定义一组数据 let person = ["zhangsan",18,1.88] //取值 person[0] pe

2016-10-02 17:08:37 513

原创 Swift学习记录 -- 8.字典的基本操作

字典和数组的操作大致相同 , 只是在合并方面略有出入 //1.定义字典 (定义方法非常多 ,只写几种常用写法) //<1.1 定义不可变字典 let dic = ["name":"my","age":18,"height":1.85] //<1.2 定义可变字典 //创建一个值为任意类型的字典 var dic

2016-10-02 16:45:33 540

原创 Swift学习记录 -- 7.数组的基本操作

//1.定义数组 (注意:创建数组的写法实在太多 ,这里仅仅写几种常用写法即可) //>1.定义不可变数组 : 使用let 修饰标识符定义的数组 let names = ["my","ym","my1","ym1"] //根据数组内容自动推导类型 //>2.定义可变数组 : 使用var 修饰标识符定义的数组 var namesM = [St

2016-10-02 15:58:34 311

原创 Swift学习记录 -- 6. 字符串的基本使用

学到这里 , 个人觉得swift对字符串操作的方面还需要做一些优化和改进 , 我本人对这种转换还是不太习惯 , 但是字符串操作又有了些链式编程的味道在里面了 , 相信用过masonry的伙伴都能感受到masonry链式编程的强大和易读 .希望swift可以越改越好吧. //OC中NSString是一个对象 ,继承与NSObject //Swift中String是一个结构体 ,性能更高

2016-10-02 15:19:54 368

原创 Swift学习记录 -- 5. 循环的使用

Swift中的循环大致没有发生太多变化 , 只是有轻微的简化 , 且更推荐for in快速遍历 . 在这两天的swift学习中 , 我们发现了另外一个问题 .swift的动态检查非常的厉害 , 如果有错或者不执行代码 , 立即就会根据逻辑报出警告 , 而且格式要求更加严格 , 应该说是强制要求我们的代码规范吧 //1. for循环 //这样写直接就报警告了 , 推荐我们用

2016-10-02 14:13:20 310

原创 Swift学习记录 -- 4.逻辑分支(switch)

//switch基本用法 (此处定义sex:1 为男 , sex : 0为女) //>1.switch后面括号可以省略 //>2.case语句结束后,break可以省略 (OC中不写break会造成穿透 , 而Swift中系统会自动生成break) let sex = 0 //场景1 : 系统自动生成break , 不会造成穿透

2016-10-02 13:20:34 520

原创 Swift学习记录 -- 3. 逻辑分支语句(if , else if ,三目运算 ,guard)

Swift 中 if , else if ,三目运算相较OC来说 , 除了更加精简 , 几乎没有变化 . 只是Swift中新增了 guard判断 , Switch得到大力加强. Switch留到下篇文章进行讲解 //if 用法 // 1. if后面 ()可以省略 // 2. 判断句不再有非0即真,判断句必须有明确的真假(BOOL-->true/false)

2016-10-02 11:29:36 665

原创 Swift学习记录 -- 2. 数据基本运算

//Swift中的运算更为严谨 , 并且没有了隐式转换 (OC中咱们将一个整型与一个浮点型相加, 会自动帮咱们转换成浮点型进行运算 let a = 2 let b = 3 let c = a + b print(c)![这里写图片描述](http://img.blog.csdn.net/20161001122619781)//如上写法,

2016-10-01 12:24:26 281

原创 Swift学习记录 -- 1.常量与变量

14年苹果公司推出swift后 , 这两年语言排名不断上升 , 其实我犹豫了特别久 , 这个时候应该是继续学习html5还是Swift , 最终还是做出了决定 . Swift可以说是集众家之长的一门语言 , 在Swift身上你可以看到很多语言的影子 , 比如JS , Python , OC不必多说 , Swift的思想基本遵循了OC , 只是变得更加严谨 , 更加效率 , 所以从OC转到Swif

2016-10-01 11:47:48 340

图文混排(朋友圈表情文字,链接,混排)

轻量级图文混排 , 实现图片文字混排 , 可显示常规链接比如网址,@,话题等 , 可以自定义链接字,设置关键字高亮等功能 . 适用于微博,微信,IM聊天对话等场景 . 实现这些功能仅用了几百行代码,耦合性也较低 Github地址 : https://github.com/coderMyy/MYCoreTextLabel , 有详细说明, 求Star ,好人一生平安

2017-02-28

iOS录屏小软件

非常好用的小软件 , 用于模拟器效果录制特别好用

2016-10-24

空空如也

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

TA关注的人

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