自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kurry的博客

华丽的跌倒,胜过无畏的徘徊!

  • 博客(77)
  • 资源 (12)
  • 问答 (1)
  • 收藏
  • 关注

原创 项目目录结构管理V1.0.0

1.前言      清晰的项目目录结构有利于项目的开发,同时也是软件架构的一部分,所以,对于之前的项目进行了整理,目录结构如下:2.项目目录结构V1.0.0项目目录├── Main│ ├── AppDelegate.h│ └── AppDelegate.m│ └── XMStartImage.png├── RootModule│ ├── ConfigConstants.h│ ├── Api│ │ └── ApiProtocol.

2021-03-11 19:57:05 358 1

原创 2021-02-23

iOS 注意事项及代码规范注意事项:健壮性检查(尤其是空指针异常,数组边界溢出)是否无意中陷入了死循环是否存在内存泄漏的情况是否存在运行时错误(除以零的情况)是否存在主线程里面有耗时操作的情况是否存在子线程里面有更新UI的情况重用性检查(是否存在相同的方法写了两次,是否可以写成通用类、方法、组件等)性能检查(UI布局是否最优,tableview等滑动页面是否卡顿)是否存在同步执行太慢,需要转成异步执行的情况是否存在重复多次或不合理调用接口情况一、项目结构:(采用MVVM)Appde

2021-02-23 15:55:54 142

转载 iOS即时通讯详解

iOS即时通讯详解iOS即时通讯,从入门到“放弃”?涂耀辉关注302018.01.03 22:11:19字数 8,367阅读 74,714前言本文会用实例的方式,将iOS各种IM的方案都简单的实现一遍。并且提供一些选型、实现细节以及优化的建议。注:文中的所有的代码示例,在github中都有demo:iOS即时通讯,从入门到“放弃”?(demo)可以打开项目先预览效果,对照着进行阅读。言归正传,首先我们来总结一下我们去实现IM的方式第一种方式,使用第三方IM服务对于短平快的公

2020-06-04 16:01:28 1422

转载 iOS 三种工厂模式(简单工厂模式、工厂模式、抽象工厂模式)详解

iOS 三种工厂模式(简单工厂模式、工厂模式、抽象工厂模式)32017.01.03 16:36:56字数 2559阅读 8507说明:在我理解中,这里所谓的抽象,其实就是制定某一个接口规范。具体体现在代码里,就是设置一个基类,基类遵守某一套接口规范,但是其具体的实现则通过子类化来完成。当然,这里我们也可以使用协议来规范这套接口规范。相对的,具体就是具有对抽象做子类化之后产生的实体。1. 简单工厂...

2019-10-11 14:52:40 667

转载 iOS开发-队列和同步异步执行

串行队列,并发队列,全局队列(并发),主队列(串行)。执行的方法有:同步执行和异步执行。提到多线程:pthread,NSThread,GCD,NSOperation 其中phtread是跨平台的。 GCD和NSOperation都是常用的,后者是基于前者的。两者区别: GCD的核心概念是将一个任务添加到队列,指定任务执行的方法,然后执行。 NSOperation则是直接将一个操作...

2018-10-31 21:33:17 1854 1

转载 json、xml解析

除了XML和Json,文中还涉及到的一些知识:第三方类库的使用,获取本地文件内容,网站API使用,GCD多线程编程,不做详细介绍,在代码出现的地方会注明。先安利一波:JsonXML大数据时代,我们需要从网络中获取海量的新鲜的各种信息,就不免要跟着两个家伙打交道,这是两种结构化的数据交换格式。一般来讲,我们会从网络获取XML...

2018-10-22 17:50:00 405

转载 iOS SDK 打包framework

本文为转载,原博主地址: https://blog.csdn.net/shihuboke/article/details/78450955 //联系人:石虎 QQ:1...

2018-10-18 18:23:52 305

转载 关于Runtime在项目中使用的总结

runtime的实际运用避免nsnull崩溃问题背景:在项目开发中,由于各种各样的原因,服务器接口常常会返回null,而在Objective-C中,向null 发送消息会引发 unrecognized selector的异常,引起app崩溃,产品体验非常不好。 解决方案:一种解决方案是获得服务器接口返回的数据后,进行判断,如果是null,则赋值一个空字符串,或者进行相应的处理,避免崩溃。但是...

2018-09-26 14:33:41 668

转载 category 详解

我们讲解的category分为三个部分:1:怎么用:运用场景2:不能用:争议性的特点:能做什么不能做什么3:原因:内部原理前言:无论一个类设计的多么完美,在未来的需求演进中,都有可能会碰到一些无法预测的情况。那怎么扩展已有的类呢?一般而言,继承和组合是不错的选择。但是在Objective-C 2.0中,又提供了category这...

2018-09-26 14:14:42 6955

转载 IOS LLDB断点调试

原文地址:http://www.jianshu.com/p/d6a0a5e39b0eLLDB阐述LLDB 是一个有着 REPL 的特性和 C++ ,Python 插件的开源调试器。LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定...

2018-09-26 10:48:32 284

转载 如何搭建IPv6测试环境

这个 IPv6 的东东都是多少年前研究的了,记得大学老师讲课时,给每一届学生讲到这个前沿的东西时候(记得是 计算机网络 课程的最后一章)都会感慨一番说我像你们上大学的时候这个 IPv6 就做为前沿技术来讲,到现在还原地不动(此处老师内牛满面��,宝宝心里苦a,但宝宝不说出)。然而,某果公司真吊,财大气粗,一句话放出来,下面的小喽啰们就忙起来了。。。...

2018-04-10 09:54:08 7973

转载 如何快速的开发直播App

目录【如何快速的开发一个完整的iOS直播app】(原理篇)【如何快速的开发一个完整的iOS直播app】(播放篇)【如何快速的开发一个完整的iOS直播app】(采集篇)【如何快速的开发一个完整的iOS直播app】(美颜篇)前言大半年没写博客了,但我一直关注着互联网的动向,最近会研究很多东西,并分享,今年移动直播行业的兴起,诞生了一大批网...

2018-04-08 15:52:41 5605

转载 ios 11及iPhone X的那些事

前段时间苹果发布新产品,iPhone8、iPhone 8 plus、iPhoneX,同时也发布了iOS 11,之前一直吐槽Android的适配,现在也第一次体会到了面向机型适配的感受了。反正苹果开心了,友商看到所谓的产品也开心了,大家都是买买买,苦逼的只有我们这群开发者了。ps:以下内容一些引用于它人的博客文章,我都会给出来源的。一些为自己的...

2018-04-08 15:02:18 570

转载 ios 图像识别技术总结

iOS通过摄像头动态识别图像前言:目前的计算机图像识别,透过现象看本质,主要分为两大类:基于规则运算的图像识别,例如颜色形状等模板匹配方法基于统计的图像识别。例如机器学习ML,神经网络等人工智能方法区别:模板匹配方法适合固定的场景或物体识别,机器学习方法适合大量具有共同特征的场景或物体识别。对比:无论从识别率,准确度,还是适应多变场...

2018-04-08 14:58:40 4482

转载 iOS框架研究之SDWebImage的原理以及使用流程

iOS框架研究之SDWebImage的原理以及使用流程SDWebImage这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。SDWebImage支持异步的图片下载+缓存,提供了UIImageView+WebCacha的category,方便使用。SDWebImage加...

2018-04-08 14:55:44 270

转载 AR Kit初步学习总结

一、AR简介:增强现实技术(Augmented Reality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动.一个最简单地AR场景实现所需要的技术以及步骤包含如下:多媒体捕捉现实图像:如摄像头三维建模:3D立体模型传感器追踪:主要追踪现实世界动态物体的六轴变化,这六轴分别是X、Y、Z轴位移及

2018-02-01 09:48:55 10901

转载 UITableView自动计算cell高度并缓存

快来瞧瞧啊!本文来自简书,原文地址:http://www.jianshu.com/p/64f0e1557562这篇文章我们来讲一下UITableView的cell自适应高度,以及遇到的问题的解决办法。在看文章之前希望你已经会UITableView的基本使用了。先奉上这篇文章的demo的Github地址:UITableViewCellHeightDemo。大家可以下载下来和文章配合看。cell高度计算

2017-07-09 16:28:55 529

转载 正确处理ipv6和内购(IAP)及掉单问题

本文来自简书,原文地址:http://www.jianshu.com/p/b7195675ffdd最近开发一个项目涉及到内购, 也遇到过一些问题. 这里拿出来分享一下, 避免一些人走弯路.开头先聊一聊最近苹果关于2017年新的审核机制和沸沸扬扬的微信和苹果的撕逼1. 2017新的审核机制:ipv6: 使用国内阿里云的app上架, 大都会遇到ipv6被拒的邮件:解决方案:方案1. 服务端解决:

2017-07-09 16:14:54 1261

转载 iOS Runtime的使用

欢迎来到华丽的跌倒的博客 阅读了多篇运行时的文章,感觉都很不错,从几篇文章里面提取一些个人认为比较重要的,偏实战的知识点的摘录,另外还结合了个人的创造形成此文。再牛逼的技术和实战结合才有意义,本篇介绍技术尽量和实战联系起来,有些没讲明白的,我给的链接里面都有,所以我就不赘述了,如果觉得可以就点个赞吧,哈哈。不需要打赏。1)替换系统方法,2)字典转model,3)归档,4)万能控制

2017-06-07 18:15:07 872

转载 iOS 视频播放

1 AVPlayer(1) 优缺点优点:可以自定义 UI, 进行控制缺点:单纯的播放,没有控制 UI(进度,暂停,播放等按钮),而且如果要显示播放界面, 需要借助AVPlayerLayer, 添加图层到需要展示的图层上(2)实现远程视频播放实现播放功能(只有声音)1.导入框架#import <AVFoundation/AVFoundation.h>2.通过远程 URL 创建 AVPlayer

2017-06-07 18:13:25 411

原创 iOS 定位功能的实现详解

导入框架 Xcode中添加“CoreLocation.framework”导入主头文件 #import <CoreLocation/CoreLocation.h>声明管理器和代理 @interface ViewController ()<CLLocationManagerDelegate> @property (nonatomic, strong) CLLocationMana

2017-04-09 15:55:37 672

转载 多线程

在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案例,在实际使用中感受它们的区别。还有一点需要说明的是,这篇文章将会使用 Swift 和 Objective-c 两种语言讲解,双语幼儿园。OK,let’s begin!概述这篇文章中,我不会说多线程是什么、线程和进程的区别、多线程有什么用,当然我也不会说什么是串行、什么是并行等问题,

2017-03-19 18:30:04 695 1

转载 UILabel和UIButton添加下划线

原文  http://www.cnblogs.com/xiaofeixiang/p/4582292.html   关于UILabel和UIButton有的时候需要添加下划线,一般有两种方式通过默认的 NSMutableAttributedString设置,第二种就是在drawRect中画一条下划线,本文就简单的选择第一种,第二种有兴趣的可以自己研究一下。 UILabel设置下划线: UILabel

2017-02-25 11:48:54 1169

转载 iOS 如何一步一步搭建框架

前言本文参考casatwy先生的网络层架构设计从网络请求的构建到请求结果的处理为你概述如何构建一个方便易用的iOS网络层, 全文约8千字, 预计花费阅读时间20 - 30分钟.目录网络请求的构建网络请求的派发    1.请求的派发与取消    2.多服务器的切换合理的使用请求派发器    1.协议还是配置对象?    2.简单的请求结果缓存器    3.请求结果的格式化    4.两个小玩意儿一、网

2017-02-25 11:46:27 534

转载 UILabel添加下划线

emoji表情的禁用,过滤和判断 最近项目中碰到的问题,在发送网络请求时,由于用户输入了emoji表情,服务端返回错误提示信息。为了解决服务器不能验证emoji编码的问题,需要在本地进行emoji的输入控制(正常情况下应该由服务器在数据库中添加emoji对应的转码表以支持客户端发送emoji表情),在网上搜了下iOS端解决办法如下: 1.当用户切换键盘为Emoji表情时,输入的表情不响应(即表情

2017-02-20 17:52:06 644

原创 iOS手机号码的正确输入

如何用正则表达式判断输入的手机号是否是规定的手机号#pragma mark UITextFieldDelegate//只允许输入数字,且只有11位数-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

2017-01-16 17:59:06 1015

原创 键盘的升起和隐藏

例如,有一个填写姓名的输入框,当点击姓名下方的输入框时,键盘弹出,界面上移;当点击提交的时候,键盘回收,界面下移;XZSignUpView.h中@interface XZSignUpView : UIView// 点击提交按钮@property (nonatomic,copy)void(^blockSubmitBtn)(NSString *,NSString *);@property (non

2017-01-16 17:47:00 316

转载 iOS如何往当前工程再添加一个工程

可能很多大牛都见过FaceBook的three20框架的源码,但是不知道大家有没有对它里面的工程之间的相互引用,相互调用产生过一些兴趣和疑问,如下图: 由于目前公司正在做一个类似three20的app框架,我的两位ios大牛使出自己的各种绝技、大招,现在终于做出了一个初期的版本,我因为经验略显骨干,所以没怎么瞎掺和,但就耳濡目染也学到了很多东西,我就把自己学到这个关于项目之前联调,以及在项目中编辑新

2017-01-12 18:15:32 2352 1

转载 cocoaPods安装详解

费了两天晚上的功夫安装上了,一边玩守望先锋 ,一边看CocoaPods下载的进度.300多兆的文件,下载了3个多小时,既然咱不是特别聪明,咱就多努力,多一点坚持慢慢来吧.整个安装过程中终端的内容如下(可以略过,对我有点用):Last login: Sat Jul 23 23:07:37 on ttys001bogon:~ liyilin$ gem source -l*** CURRENT SO

2017-01-08 23:20:42 798

转载 ReactiveCocoa详解

前言很多blog都说ReactiveCocoa好用,然后各种秀自己如何灵活运用ReactiveCocoa,但是感觉真正缺少的是一篇如何学习ReactiveCocoa的文章,这里介绍一下.1.ReactiveCocoa简介ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾。2

2017-01-07 14:41:11 525

原创 JSPatch详解

JSPatch以小巧的体积做到了让JS调用/替换任意OC方法,让iOS APP具备热更新的能力,在实现 JSPatch 过程中遇到过很多困难也踩过很多坑,有些还是挺值得分享的。本篇文章从基础原理、方法调用和方法替换三块内容介绍整个 JSPatch 的实现原理,并把实现过程中的想法和碰到的坑也尽可能记录下来。 基础原理能做到通过JS调用和改写OC方法最根本的原因

2017-01-07 14:40:03 973

转载 ReactiveCocoa详解

前言很多blog都说ReactiveCocoa好用,然后各种秀自己如何灵活运用ReactiveCocoa,但是感觉真正缺少的是一篇如何学习ReactiveCocoa的文章,小编看了很多篇都没看出怎么使用ReactiveCocoa,于是决定自己写一遍关于学习ReactiveCocoa的文章,本文主要针对如何从零开始学习ReactiveCocoa,这里非常感谢3个人(支点的雷纯锋,camera360的

2016-12-20 20:13:22 555

转载 CABasicAnimationji基础动画

实例化使用方法animationWithKeyPath:对 CABasicAnimation进行实例化,并指定Layer的属性作为关键路径进行注册。//围绕y轴旋转CABasicAnimation *transformAnima = [CABasicAnimation animationWithKeyPath:@"transform.rotation.y"];设定动画设定动画的属性和说明属

2016-12-20 12:07:44 305

原创 performSelectorOnMainThread和performSelectorInBackground详解

NSObject类的performSelectorOnMainThread和performSelectorInBackground可以实现简单的多线程编程技术 1、- (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg 创建一个线程在子线程执行,aSelector代表了新创建的线程,arg是传入的参数

2016-12-20 12:03:32 752

原创 浅谈Xcode8中的小坑

最近iOS10的出现带来了Xcode8的更新,系统的逐渐优化,一些隐藏的小坑也越来越多,今天就谈谈Xcode8的坑。。1、注释行的快捷键不灵了 注释 “Command” + “/” 居然不管用啦。其实这个问题只要我们稍微修改下就可以解决了,具体的步骤我就不写了,给大家一个不错的链接–>>Xcode8无法注释的问题:http://www.cnblogs.com/zhouyantongiOSDev

2016-12-19 11:21:10 413

原创 移动端H5页面的设计稿尺寸

当我们在做手机端H5网页设计稿时(当然包含微信端的H5网页设计),如果没有做过类似的移动端的设计,UI设计师和前端工程师肯定会纠结的。如果是app设计师,就不会那么纠结啦。延伸阅读:2015年度最值得学习的10个H5案例(各种经典,推荐收藏)这可能是近半年做得最好的4个H5传播案例还没搞懂H5营销?他们已经开始在玩“虚拟现实”了!一个插线板的H5怎么就火了?大家明明是去看周鸿祎的八卦的那么多手

2016-12-18 23:18:07 4281

原创 sortedArrayUsingComparator详解

1.降序 NSArray *tMlist = @[@4,@5,@2,@6,@3,@7,@8]; //降序序8,7,。。 NSArray *tArray = [tMlist sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { NS

2016-12-17 16:18:21 2524

原创 Swift基础知识(二)

闭包(Closures) * 闭包是自包含的功能代码块,可以在代码中使用或者用来作为参数传值。  * 在Swift中的闭包与C、OC中的blocks和其它编程语言(如Python)中的lambdas类似。  * 闭包可以捕获和存储上下文中定义的的任何常量和变量的引用。这就是所谓的变量和变量的自封闭,  * 因此命名为”闭包“("Closures)").Swift还会处理所有捕获的引用的内存管

2016-12-13 12:12:25 357

原创 Swift基础知识总结(一)

Swift1 基本语法1.常量和变量let 声明常量 var声明变量类型标注声明变量时标注类型常量和变量的命名规则:不可以使用某些特殊字符 不可以使用关键字 不可以使用数字开头输出常量和变量print(“hello:\(a)”)常量&变量的使用原则:尽量先用 let,只有需要变的时候,再用 var,能够更加安全2.注释// 行注释/*块注释*/3.分号何时使用分号? -

2016-12-13 11:45:29 594

原创 利用终端秒关mac

经常看到有人发贴说什么mac关机,菊花转半天,我其实是不会去在意这些细节的,你软件啊什么的装多了,关机自然会慢一些。 立刻关机输入 sudo halt 或者 sudo shutdown -h now 大家可以尝试一下,是不是秒关哈,至少我的air是秒关的。。。十分钟后关机 sudo shutdown -h +10 立即重启 sudo reboot 或者 sudo shutdown -r now

2016-12-12 16:20:47 470

JavaScript基础总结

js基础总结

2016-11-30

CSS基础总结

css 笔记总结

2016-11-30

HTML5基础总结

html5笔记总结

2016-11-30

svn常见问题及解决办法

svn 常见问题

2016-11-30

iOS内购笔记

iOS内购

2016-11-30

Socket编程

socket编程,欢迎大家来学习

2016-11-30

iosiOS面试宝典

史上最全iOS面试宝典

2016-11-30

MD5 AES RSA加密最全总结

MD5 AES RSA 最全总结,本人亲自总结,欢迎学习

2016-11-30

iOS史上最全的网络开发笔记

iOS史上最全的网络笔记,相信你不会错过,为本人亲自总结,为你的网络阶段的学习打下坚实的基础

2016-11-30

iOS史上最全的UI笔记

史上最全的UI笔记,教你快速掌握UI,为你的iOS后续开发打下坚实的基础,本人亲自总结的

2016-11-30

iOS史上最全的OC笔记

如果你想要学好OC语言,请不要错过,史上最全的OC笔记,教你快速掌握,这是我亲自总结的

2016-11-30

直播总结.pdf

随着移动开发的成熟,直播也在进一步进入人们的视野,这是在下总结的一些关于直播的知识,希望和大家一起进步!

2016-09-19

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

TA关注的人

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