自定义博客皮肤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 函数式编程简单理解

看到ios函数式编程的概念是从masonry开始的,网上写到的demo都基本上是链式编程,这个跟真正的函数式编程思想差的还是比较远的,那么函数式的思想指哪些方面呢,在ios上又有哪些体现呢?1.纯函数:参数无可变类型,不受外部状态改变影响。个人理解部分:是不是会对传入的参数做深拷贝?2.线程安全。个人理解部分:1.控制函数执行在指定的线程?2.确保资源不会在不同线程竞争?3.高阶函数。个人理解部分...

2018-06-22 16:30:00 590

转载 ios 性能优化

iOS性能优化总结iOS性能优化总结。关于 iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局优化、电量优化、 安装包瘦身、启动优化、网络优化等。关于iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局优化、电量优化、 安装包瘦身、启动优化、网络优化等基本工具TODO: Instruments 高级技巧、常见的优化技能综合篇微信读书iOS性能优化微信读书 iOS ...

2018-04-22 11:06:57 246

转载 ios 安全

APP文件下的本地存储Documents、Library/Caches、TmpDocuments: 保存应⽤运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录。tmp: 保存应⽤运行时所需的临时数据,使⽤完毕后再将相应的文件从该目录删除。应用没有运行时,系统也可能会清除该目录下的文件。iTunes同步设备时不会备份该目录。Library/Caches: 保存应用运行时⽣成的需要持久化...

2018-04-21 21:12:16 715

转载 iOS-GCD的串行队列和并行队列的任务及实现

iOS-GCD的串行队列和并行队列的任务及实现原创  2016年04月17日 10:15:11标签:GCD7374•什么是GCDGCD全称是GrandCentral Dispatch,纯C语言的,提供了非常多强大的函数•GCD的优势1,GCD是苹果公司为多核的并行运算提出的解决方案2,GCD会自动利用更多的CPU内核(比如双核、四核)3,GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程...

2018-03-28 16:29:51 746

转载 APP架构设计经验谈:业务层的设计

APP架构设计经验谈:业务层的设计原创文章,转载请注明:转载自Keegan小钢并标明原文链接:http://keeganlee.me/post/architecture/20160214微信订阅号:keeganlee_me写于2016-02-14App架构设计经验谈:接口的设计App架构设计经验谈:技术选型App架构设计经验谈:数据层的设计App架构设计经验谈:业务层的设计App架构设计经验谈:展...

2018-03-28 15:43:23 378

转载 APP架构设计经验谈:数据层的设计

APP架构设计经验谈:数据层的设计原创文章,转载请注明:转载自Keegan小钢并标明原文链接:http://keeganlee.me/post/architecture/20160120微信订阅号:keeganlee_me写于2016-01-20App架构设计经验谈:接口的设计App架构设计经验谈:技术选型App架构设计经验谈:数据层的设计App架构设计经验谈:业务层的设计App架构设计经验谈:展...

2018-03-28 15:42:43 379

转载 APP架构设计经验谈:技术选型

APP架构设计经验谈:技术选型原创文章,转载请注明:转载自Keegan小钢并标明原文链接:http://keeganlee.me/post/architecture/20160114微信订阅号:keeganlee_me写于2016-01-14App架构设计经验谈:接口的设计App架构设计经验谈:技术选型App架构设计经验谈:数据层的设计App架构设计经验谈:业务层的设计App架构设计经验谈:展示层...

2018-03-28 15:42:00 1092

转载 APP架构设计经验谈:接口的设计

APP架构设计经验谈:接口的设计原创文章,转载请注明:转载自Keegan小钢并标明原文链接:http://keeganlee.me/post/architecture/20160107微信订阅号:keeganlee_me写于2016-01-07App架构设计经验谈:接口的设计App架构设计经验谈:技术选型App架构设计经验谈:数据层的设计App架构设计经验谈:业务层的设计App架构设计经验谈:展示...

2018-03-28 15:41:02 133

转载 APP架构设计经验谈:展示层的设计

APP架构设计经验谈:展示层的设计原创文章,转载请注明:转载自Keegan小钢并标明原文链接:http://keeganlee.me/post/architecture/20160222微信订阅号:keeganlee_me写于2016-02-22App架构设计经验谈:接口的设计App架构设计经验谈:技术选型App架构设计经验谈:数据层的设计App架构设计经验谈:业务层的设计App架构设计经验谈:展...

2018-03-28 15:40:04 1276

原创 我用过的ios第三方库

一.通讯类    1.GCDAsyncSocket:socket通讯类,连接,断开,接收,发送,支持tcp,udp    2.AFNetworking:http请求的库    3.NIMSDK:网易云信SDK,聊天社交类二.视频类    1.ffmpeg:音视频软解码    2.kxmovie:基于ffmpeg的播放器,支持rtsp,rtmp等格式    3.IJKMediaFramework :...

2018-03-21 15:27:51 265

转载 线性回归-多项式拟合

多项式曲线拟合(Polynomial Curve Fitting)标签:监督学习@ author : [email protected]  @ time : 2016-06-19原文链接多项式特征生成在机器学习算法中,基于针对数据的非线性函数的线性模型是非常常见的,这种方法即可以像线性模型一样高效的运算,同时使得模型可以适用于更为广泛的数据上,多项式拟合就是这类算法中最为简单的一个。关于多项式回归的...

2018-03-05 20:16:54 2533

转载 java(android)和oc(ios)比较

1. Cocoa是什么?Cocoa是使用OC语言编写的工具包,里面有大量的类库、结构体,说白了其实就相当于java中的标准API、C++中的标准库。OC中没有命名空间的概念,所以使用加前缀来防止命名冲突,因此你会看到大量的以NS 为前缀的类名、结构体、枚举 2. Cocoa框架由Foundation Kit、App Kit两部分组成,前者是基础工具库,后者主要是UI库、高级对象等。iOS和

2017-11-06 21:32:11 650

转载 android ios 异同点1

Android与IOS作为当前世界上最流行的两大移动端操作系统,都拥有无数的粉丝。那么对于Android或者IOS的开发者来说,这两个系统都拥有什么相同或者不同的地方那?现在让我们一起来了解一下Android和IOS的异同点。Android、 在Android只中所有的界面都在Activity之中呈现,也就是说只要是用户能够看到的都在Activity之中。Activity创建了一个窗口(W

2017-10-28 16:54:13 608

转载 Vuforia for IOS

Vuforia是一个AR的第三方sdk,有安卓,ios和unity平台。ios端的资料较少,我弄了几天总算把它弄到了自己的工程里面。首先下载SDK和例子https://developer.vuforia.com/downloads/sdkhttps://developer.vuforia.com/downloads/samples下载解压后,把例子的整个文件夹拖入SDK文件夹的

2017-07-11 15:45:58 807

转载 了解IOS Block

OC中多线程编程的核心就是block与gcd。这虽然是两种不同的技术,但他们是一并引入的。block是一种可在C、C++及OC代码中使用的“词法闭包”(lexical closure),它极为有用,借此机制,开发者可将代码像对象一样传递,令其在不同环境(context)下运行。在block的范围内,它可以访问到其中的全部变量。    gcd是一种与block有关的技术,它提供了对线程的抽象,而

2017-04-25 16:23:58 205

原创 iOS 通知和kvo中的线程问题

ios中的通知和kvo使用非常常见,通常我们都是在主线程添加观察者和发送通知,但是如果我们是在子线程发送通知呢?测试代码:接收通知 - (void)viewDidLoad{    [superviewDidLoad];    [[NSNotificationCenterdefaultCenter] addObserver:selfselector

2017-02-21 13:20:11 2020

转载 ios消息推送

推送通知,是现在的应用必不可少的功能。那么在 iOS 中,我们是如何实现远程推送的呢?iOS 的远程推送原理又是什么呢?在做 iOS 远程推送时,我们会遇到各种各样的问题。那么首先让我们准备一些做推送需要的东西。我们需要一个付费的苹果开发者账号(免费的不可以做远程推送),有了开发者账号,我们可以去苹果开发者网站,配置自己所需要的推送的相关证书。然后下载证书,供我们后面使用,详细的证书配置过程,我们

2017-02-16 14:13:38 510

转载 严谨的单例写法(转)

单例模式在iOS开发中可能算是最常用的模式之一了,但是由于OC本身的语言特性,想要写一个正确的单例模式相对来说比较麻烦. 今天就来说一说, 单例创建的方式和严谨的单例写法及可继承单例编写.基本单例的创建方式方式一(普通创建方式)SingleHandle.h@interface SingleHandle : NSObject//单例创建方法一般以 share, sta

2017-02-09 14:24:51 270

原创 那些IOS中你可能使用过的设计模式

本文纯属个人开发IOS时对设计模式的肤浅理解,错误之处,请指出。设计模式个人理解设计模式就是开发者在面向对象的开发实践中,根据面向对象的抽象,封装,继承,多态,总结出的解决某些类型问题的通用方法。设计模式分类1.创建型模式2.结构型模式3.行为型模式使用场景一 创建型1.工厂方法:提供一个创建一系列相关或相互依赖的接口,而无需指定她们具体的类。场景:适用父类

2017-01-12 14:14:46 299

原创 IOS运行时实现自己的KVO

参考文章 http://www.cocoachina.com/ios/20150313/11321.html本文在此基础上为每段代码添加详细的注释1.首先,我们创建 NSObject 的 Category,并在头文件中添加两个 API:#import typedef void (^ZZXObservingBlock) (id observedObject,

2016-12-22 17:13:06 337

转载 IOS运行时介绍

简介Runtime 又叫运行时,是一套底层的 C 语言 API,其为 iOS 内部的核心之一,我们平时编写的 OC 代码,底层都是基于它来实现的。比如:[receiver message];// 底层运行时会被编译器转化为:objc_msgSend(receiver, selector)// 如果其还有参数比如:[receiver message:(id)arg...];//

2016-12-21 18:41:37 197

转载 关于MFi认证你所必须要知道的事情

MFiLogo前面我写了一篇文章《iOS App连接外设的几种方式》,其中EAP和NCM是都需要做MFi认证。对于苹果的MFI认证,对iOS开发的同学来说其实是一个比较陌生并且繁琐的topic,因为网上资料确实很少,百度Google几乎都查不到啥资料,而且MFi认证门槛比较高,流程比较复杂,周期很长。苹果对外提供的沟通渠道也不顺畅,邮件发过去杳无音信,电话从来都打不通。本人

2016-11-29 11:17:53 780

转载 iOS连接外设的几种方式小结,包括MFi的和非MFi的

iOS连接外设的几种方式小结,包括MFi的和非MFi的    一般iOS开发者做APP开发大部分时候都是通过Http(s)请求跟后台服务器打交道,做一些信息展示和用户交互。很少涉及到去跟外部硬件设备连接的开发。随着近年来车联网和物联网的兴起,智能家居和智能硬件的逐步火热,越来越多的app被开发出来,用来跟硬件设备进行来连接,获取硬件相关信息展示或者发送指令控制硬

2016-11-29 11:08:49 3617 2

转载 IOS10 系统自带的语音识别功能

前奏:  iOS 10 出来之后,我们开发者也可以使用类似Siri的功能。它是使用Siri里面的一个语音识别框架Speech framework来处理siri的。现在, 让我们来看看 一些 主要的代码吧。 我们需要一个 UITextView 和 UIButton 就 能体现了。 实现:第一步:定义属性@interface ViewController (

2016-10-31 16:55:51 1725

原创 iOS 语音搜索通讯录算法

技术背景目前的语音识别技术相当强大国内的语音平台,百度科大讯飞也都有自己的开放平台,开发者可以很方便的集成到自己的开发环境。具体需求通过语音命令手机打电话给联系人,由于一些原因,比如:语音输入不准,语音识别偏差,读音与联系人类似等等,识别出来的联系人名字需要通过算法分析提取出通讯录中可能的联系人,并返回给用户选择确认。分析步骤1.将中文名转换为拼音        CFStr

2016-10-16 22:36:46 1033

原创 IOS 视频硬解码

硬解码解码主要需要以下三个函数VTDecompressionSessionCreate 创建解码 sessionVTDecompressionSessionDecodeFrame 解码一个frameVTDecompressionSessionInvalidate 销毁解码 session首先要创建 decode session,方法如下:

2016-10-02 15:16:10 3102

原创 IOS 基于ffmpeg VR播放器

使用场景支持rtsp,rtmp等的实时流播放的全景播放器开源的全景播放器HTY360Player有一个问题就是用的是系统的播放器,所以无法支持rtsp或rtmp协议,所以解码部分使用Kxmovie,openGL部分使用HTY360Player,完美解决HTY360Player 下载地址:https://github.com/hanton/HTY360PlayerKxmovie 下载

2016-09-20 16:35:09 1400

原创 IOS 基于ffmpeg的播放器kxmovie的音视频同步

本文介绍一个基于FFMPEG的开源播放器kxmovie,把我在使用中的一些问题讲给大家,希望有所帮助项目下载地址为:  点击打开链接

2016-09-19 19:31:20 1437

空空如也

空空如也

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

TA关注的人

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