- 博客(66)
- 资源 (2)
- 收藏
- 关注
原创 iOS基础06—--事件响应链
iOS基础06——事件响应链移动应用的最大特性就是响应用户交互操作,那么iOS系统是如何去响应一个简单的点击事件的呢?系统如何精准地定位一个事件的响应者呢?首先一个事件产生后,系统会将其包装成一个uievent和uitouch对象,然后传给当前的app!当前app一级一级查找响应者的规程就形成了一个事件响应链!事件传递进来时,uiapplication会将事件放置到队列中,然后会从队列...
2018-09-18 16:30:55
287
原创 iOS基础05—-UIView与CALayer的联系与区别
iOS基础05—-UIView与CALayer联系与区别UIView所有的视图都是由UIView派生而来,UIView可以处理触摸事件,可以支持Core Graphics绘图,可以做仿射变换(旋转或缩放),以及简单的滑动和渐变动画。CALayerCALayer和UIView一样,最大的不同是CALayer不响应事件。每一个UIView都对应一个CALayer图层属性(但是也可以添加...
2018-09-18 16:21:26
483
原创 iOS 基础04--Foundation框架下基本集合类
iOS 基础04—Foundation框架下基本集合类不可变集合的最大好处是线程安全。1、常用基本集合类:以下三种是最常用的集合类型:NSArray:有序的(所谓有序,即对象的顺序是按照添加顺序来保存的),有重复对象;对应的可变数组NSMutableArray NSDictionary:字典、键值对,对应的可变字典NSMutableDictionary NSSet:它就相当于一...
2018-09-18 15:15:34
322
原创 iOS 基础02--单例、属性修饰符、深浅拷贝
iOS 基础02—单例、属性修饰符、深浅拷贝单例讲单例就必须得先讲讲单例这种设计模式的作用和最可能出现的应用场景,以便更好地理解这种设计模式:比如在整个进程当中,我们经常会用到用户信息,这就要求我们能够把用户信息存在一个统一的对象当中,以便于对信息进行操作。有对情况下,某个类也可能只能允许只有一个实例。比如音频播放器。这样,我们就大概了解单例的了,它就是整个进程只存在一个实例对象...
2018-09-18 14:46:40
531
原创 iOS 基础01—项目文件、applecation、启动过程、VC生命周期
iOS 基础01—项目文件、applecation、启动过程、VC生命周期1 项目中常见的文件1 info.plist 文件 plist文件是一个全局配置文件,系统默认就叫做info.plist,所以如果自己取名字千万不可以取作info.plist; 代码里拿到info.plist里的参数使用[[NSBundle mainBundle]infoDictionary]; //这个字...
2018-09-18 13:15:08
484
原创 iOS基础03—category & extension & protocol
iOS基础03—category & extension & protocolCategory(分类)先来一波代码看看 category@interface Person : NSObject- (void)printName;@end@interface Person (category)- (void)printName;+ (id)shareMan...
2018-09-18 12:57:43
207
原创 从CoreML入门机器学习
人工智能 && 机器学习人工智能就是让机器拥有和人一样的智慧,它不仅仅限于机器学习,它还包括其他部分,比如:自然语言处理、计算机视觉等。关系就如图:其中简单提示一下:机器学习:数据预处理、线性回归、监督学习、加强学习等Deep Learning:人工神经网络、主成分分析、线性判别分析、模型选择等还是一脸懵逼?never mind,不要在意这些细节什么是机...
2018-09-18 12:52:02
810
原创 一套无数据或者无网络的提示模板
WeakNetManagerSwift封装的一套无数据或者无网络的提示模板使用:默认样式:// 默认样式 只有无数据图片和文字提示 showPlaceHold()1、定制按钮// 两个按钮 无数据 let item = FCFPlaceHolderBtnItem(title: "刷新") { (btn) in ...
2018-09-18 12:44:12
2205
1
原创 模块化之路(cocoPod VS framework)
模块化之路(实验)一直以来,我们都在尝试让代码尽可能高内聚、低耦合。比如我们将MVP框架改成MVVM框架,以解决Controller层代码臃肿不堪,让model和view尽可能不要耦合。再比如,我们之前尝试的路由,是为了让Controller与Controller之间不要有太多的代码交集。而模块化实际上就是为了让模块与模块直接相对独立。模块化优势: 各模块代码与资源独立使用与维护、独立测...
2018-09-18 09:54:01
1777
原创 图层CALayer
0:UIView 所有的视图都是由UIView派生而来,UIView可以处理触摸事件,可以支持Core Graphics绘图,可以做仿射变换(旋转或缩放),以及简单的滑动和渐变动画。 1:CALayer CALayer和UIView一样,最大的不同是CALayer不响应事件。每一个UIView都对应一个CALayer图层属性(但是也可以添加无数个子图层)。实际上CALayer才是真正用来在屏幕
2017-06-21 14:29:44
370
原创 Swift 内存管理与循环引用问题(weak、unowned)
之前我在优快云上写过一篇博客:OC内存管理、ARC、property属性、__strong、__weak(),大家有兴趣的可以去看看。 今天我们来整理一下Swift的内存管理与循环引用的解决问题-weak、unowned: 内存管理 swift的内存管理也是使用的ARC(自动引用技术):当我们初始化创建一个对象实例的时候,swift就会替我们管理和分配内存,此时的引用计数为1,当对
2017-06-15 17:29:01
4876
原创 swift3 用Alamofire下载视频、断点续传
swift3 使用alamofire下载视频,把视频存到沙盒目录Documents下面xib上布局两个按钮:一个下载;一个暂停按钮;一个进度条;在视频下载完成后使用AVPlayController播放本地视频:
2017-03-14 23:28:05
4917
原创 swift3 面向协议编程
本文从我们经常遇到的简单实例入手,为您展示最简单的面向协议编程入门:首先我们是不是经常遇到下面的代码:注册cell tableview.register(UINib(nibName: "XXCell", bundle: Bundle.main), forCellReuseIdentifier: "XXCellIdentifier")从可复用队列里提取cell tableView.de
2017-03-07 10:20:11
422
原创 OS X10.12上安装cocoapods
OS X10.11上安装cocoapods今天遇到的一个坑!在OS X10.11上安装cocoapods。一直安装不上去!解决的方法就是直接安装rubygems而不是安装taobao上的。命令行就是: gem sources -a http://rubygems.org 注意是http而不是https 接着安装 sudo gem install cocoapods 这样就可以了1:不知道是
2017-02-28 16:36:15
393
原创 swift3下通讯录的开发
swift3 通讯录AddressBookCNContact未授权时第一次打开崩溃问题UILocalizedIndexedCollation排序
2017-02-09 11:18:24
1808
原创 swift3 语法摘要
swift3学习基础教程摘要:1、基础部分 2、基本运算符3、集合控制流4、函数:(多返回值函数、函数类型、嵌套函数)5、枚举6、类和结构体7、属性和方法8、下标9、构造器10、引用计数、循环引用11、可选型12、错误处理13、类型转换14、扩展15、协议16、泛型
2017-01-04 16:30:28
742
原创 swift+UIPageViewController 纯代码实现引导页
使用UIPageViewController1、介绍:UIPageViewController是一个类似UINavigationController的Controller容器。它既可以实现UIScrollView的滑动效果,也可以实现UIPageController的翻页效果。其中每个具体的视图由各自的ViewController进行维护管理,UIPageViewController只进行协调与动画
2016-08-29 18:35:02
4055
转载 iTunes connect开发指南
转https://developer.apple.com/library/mac/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide_zh_CN/Chapters/Properties.html
2016-08-14 11:54:41
443
原创 swift 视频合成剪辑——swift学习(十)
AVAsset:素材库里的素材;AVAssetTrack:素材的轨道;AVFoundation编辑API的核心就是compositions(合成);composition就是从一个或多个不同的资源中获取到的简单的track(轨道)的集合;AVMutableComposition:一个用来合成视频的工程文件;AVMutableCompositionTrack:工程文件中的轨道,有有音频轨、视频轨等,里面可以插
2016-06-29 18:02:28
3410
原创 swift AVFoundation AVPlayer 视频播放器——swift学习(十)
AVAssetAVPlayerAVPlayerLayerAVPlayItemAVQueuePlayer播放进度播放状态播放时间
2016-06-27 18:16:16
9265
原创 swift Alamofire+ObjectMapper——swift(学习九)
Alamofire是目前为止我接触的swift最好的第三方下载库ObjectMapper也是我目前接触到的最简单易用的解析三方库
2016-06-22 10:59:03
6117
原创 Mac下的常用终端命令与vim常用命令
因为很少用命令行,老被鄙视,所以今天记录一下常用的命令行:cd 切换工作目录 . 表示当前目录 .. 表示当前目录的上一级目录 / 根目录/目录分隔符 ./ 当前目录 ../ 回到上一级目录 ls 显示当前目录下的所以文件 mkdir 创建新目录 rmdir 删除空目录,注意是空目录vim xx 打开xx文件,如果没有就创建xx文件,且挑到编辑页面
2016-06-16 14:13:41
17952
原创 Mac Carthage
Carthage是一个类CocoaPods的第三方类管理工具,cocoapods导入的东西,对工程依赖极大,会修改工程文件,而且导入的类库,每次运行的时候都要编译,carthage导入的是framework,不会修改工程文件,不会影响工程,而且运行的时候不需要编译,缺点是它的类库没有cocoapods丰富。1、安装进入Carthage/release 下载Carthage.pkg。安装就行。2、使用
2016-06-16 14:01:04
1472
原创 swift PhotoKit学习——swift(学习八)
PhotoKit是iOS新的框架,用来替代原来AssetsLibrary。PHAsset: PHFetchOptions: PHAsset、PHCollection
2016-06-15 14:02:31
1952
原创 swift扩展extension——swift学习(七)
首先看到swift扩展的时候,我就想起了OC的扩展和类别;于是我就在找swift的扩展和OC的扩展和类别是什么关系。经过几番查阅资料,发现swift的扩展和OC的类别是如出一辙。但是我又很一根筋地去查找swift类似OC扩展的东西是什么。但是我始终就是没找到,于是我就静下来想想,OC的扩展和分类的作用和区别是什么?使用场景是什么?所以,我们首先来看看OC的类别和扩展: 类别:可以动态的为现有类添加
2016-06-07 17:17:23
9816
原创 iOS广告页——(开发一个iOS广告页应该要考虑的东西)
不熟悉客户端软件开发的人都认为开发一款客户端app很轻松。所以我们去面试的时候,经常会碰到如下问题:这个app开发要多久?说实话,对于这个问题,没有人能百分百保证准确时间。 今天我就来为我们苦逼的码农正正名。就说一个广告怎么去实现,要考虑哪些问题。我就一一罗列一下: 1、实现一个展示广告的Imageview; 2、给广告添加点击事件; 3、跳过广告的按钮; 4、因为启动页展示的时间一般是相
2016-06-07 12:02:51
4091
原创 swift闭包——swift学习(六)
说到闭包,很多人都会有疑问,闭包是个什么鬼?到底是用来干什么的?什么时候会用到?怎么用?OK,那我们就来好好分析分析这些东西。 首先,我们写过代码的朋友的第一件事肯定就会开始寻找,swift的这个东西会是我们现在用到的什么呢?或者说和我们现在的什么东西有些类似呢??OK,那我告诉你,c语言的匿名函数、c++的lambda(我的 c++复习(五)——lambda)、OC的block都与我们的闭包差不
2016-05-29 17:57:38
550
原创 swift 函数、函数类型及使用——swift学习(五)
//1.无返回值的函数func test(name:String){}//2.返回一个返回值func test2(name:String)->Bool{return true}//3.返回一个元组func test3(name:String)->(Int,Bool)//4 参数类型
2016-05-22 17:50:44
763
原创 c++ curl下载和上传数据——c++(学习一)
首先必须感谢稀泥蟹大神的这篇文章。让我学习和使用了curl这个库。具体的curl的详解,请前往那里观看。我这里就是用c++封装了一下。还有说明一下,我这个是用在我的cocos2dx游戏里的。所以如果单独拿出来有问题的话还望指出,OK,直接上干货吧!//.hpp#ifndef FCFTestNetWorkManager_hpp#define FCFTestNetWorkManager_hpp#in
2016-05-20 16:01:29
6156
1
原创 swift optional——swift学习(二)
可选型:optional强制解包if let convertedNum = convertedNum{ //不为空执行}
2016-05-18 16:21:27
379
原创 iOS 用Applicaton Loader提交ipa到iTunes Connect ——iOS上线相关(二)
1、打包 2、上传 Application Loader
2016-05-17 18:46:00
1857
原创 c++ 多线程——c++复习(十)
c++11使用的多线程非常简单:thread直接就可以创建一个线程。std::thread a;join() #include<iostream> #include<thread> #include<string> using namespace std; int main(int argc,const char * argv[]){ threa
2016-05-12 19:26:44
443
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人