Swift
开发小猫
这个作者很懒,什么都没留下…
展开
-
Swift tips 笔记
Swift tips 笔记CaseIterable协议enum遵守了CaseIterable协议可以实现遍历枚举值enum Season : CaseIterable { case spring, summer, autumn, winter}print(Season.allCases.count)Season.allCases.forEach { (s) in print(s)}defer 语句defer 用来定义离开代码块前必须执行的代码assert 断言原创 2020-07-29 21:47:58 · 264 阅读 · 0 评论 -
利用Bilibili的开源库ijkplayer实现视频直播
利用Bilibili的开源库ijkplayer实现视频直播 最近研究视频直播的技术,起初了解了直播APP需要的技术体系,包括音视频的编码、解码、推流等,但对于在真实项目中最好是使用优秀的第三方框架来实现相关的功能,下面介绍下ijkplayer实现视频的播放解码等。第一步在GitHub上面下载ijkplayer的源码这里是官方给出的在iOS上面构建的方式git clone https://git原创 2017-07-18 21:47:11 · 6778 阅读 · 0 评论 -
ProtocolBuffer的简单使用
ProtocolBuffer的简单使用 最近在利用Socket来实现直播APP中的数据的交互,刚开始是使用字符串来实现数据的传输,特别不方便,后面在某个地方了解到ProtocolBuffer这个框架能够使得数据传输面向对象化,便于传输和解析,于是记录一下ProtocolBuffer的简单使用。首先在利用Homebrew在Mac上面安装这个环境,生成Swift代码安装Homebrewruby原创 2017-07-13 21:55:44 · 627 阅读 · 0 评论 -
iOS在Xib加载自定义Xib视图
iOS在Xib加载自定义Xib视图最近都在做Android项目的开发,许久没有捣腾iOS开发了,今天接到一个旧项目功能的开发,为了快速开发出来决定使用Xib或者Storyboard来实现,虽然很简单,但是发现许久没用,手都生了,于是把开发的步骤和注意点记录一下。第一步、创建自己的View对象,搭建自己需要的界面,并且添加好约束第二步、在Xib中配置(需要拉出来的控件、Xib需要原创 2016-10-30 22:02:25 · 5608 阅读 · 0 评论 -
Swift 3 Access Levels 访问权限的学习
Swift 3 Access Levels 访问权限的学习在Swift 3中访问权限发生了一些改变,选择有5种访问权限分别是:open、public、internal、fileprivate、private。下面就来认识一下这几个访问权限的用法和使用场景。open:简单的说被open修饰的类、属性、方法在任何源文件、任何被导入的模块(module)中都可以被访问到,类可以被继承,属性和方法翻译 2016-09-27 23:02:16 · 474 阅读 · 0 评论 -
如何快速将Swift2.0的项目过渡到Swift3.0
如何快速将Swift2.0的项目过渡到Swift3.0今年WWDC之后,相信大家都已经更新到iOS10和Xcode8.0beta版本尝鲜了,其中包括SiriKit、新的语音识别框架SFSpeechRecognizer、通知框架(UserNotifications.framework、UserNotificationsUI.framework)等等都等待着我们去探索和发现呢!我个人认为最先接原创 2016-06-29 21:14:05 · 9975 阅读 · 0 评论 -
AlamofireObjectMapper框架的基本使用以及二次封装
AlamofireObjectMapper框架的探索研究AlamofireObjectMapper框架是基于Alamofire框架上使用的,它是对Alamofire框架中的Request进行的扩展。AlamofireObjectMapper能够实现获取服务器数据并转化成自己定义的模型一步到位,省略了大量的操作。用使用AlamofireObjectMapper框架需要在CocoaPods导入原创 2016-10-10 23:38:23 · 2537 阅读 · 0 评论 -
ObjectMapper框架的探索学习
ObjectMapper框架的探索学习本文主要介绍的是ObjectMapper基本使用情况,这个框架的使用会涉及到Alamofire框架。Alamofire框架的用法这里不再介绍,请参考这里ObjectMapper主要用于JSON数据和Model之间的相互转换的,类似框架还有OC中的MJExtension、jsonmodel等。此处先给出服务器返回的json数据{原创 2016-10-09 23:34:54 · 3719 阅读 · 0 评论 -
基于友盟使用Swift3.0在Xcode8.0beta版中集成分享功能和第三方登录
基于友盟使用Swift3.0集成分享功能和第三方登录很多APP都有分享的功能和第三方登录,今天就基于友盟的基础上快速的集成一下。第一、根据官网的文档配置工程,这里我选择利用CocoaPods配置所需文件。CocoaPods的使用教程第二、所需平台的配置信息配置(略,可以参考官方文档)第三、iOS9适配及其其他一些相关配置1、iOS9网络适配 --> 在info.plist中添加原创 2016-08-11 20:51:54 · 3911 阅读 · 0 评论 -
Alamofire上传图片解决绑定参数问题
Alamofire上传图片解决绑定参数问题今天记录下载使用Alamofire上传图片时遇到的一个问题,在很多APP里面都有这样的需求,就是上传用户的头像,头像当然是和用户的ID是一一对应的关系,所有在上传图片的时候需要向服务器上传用户的ID或者其他的参数。但是在Alamofire上传文件的API中并没有参数的设置,下面就来解决这个问题。Alamofire.upload(.POST, u原创 2016-05-24 16:54:38 · 4917 阅读 · 7 评论 -
Swift集成极光推送
今天介绍一下用swift集成极光推送一、首先到极光推送的官网下载iOS对应的SDK包 SDK下载地址二、第二步在极光的官网创建账号配置对应的应用信息,推送证书的这些就不介绍了很基本,官网的很详细 配置应用地址三、第三创建一个工程,导入下载的SDK包,并且导入依赖的库文件原创 2016-04-20 16:27:12 · 5143 阅读 · 0 评论 -
Swift中一些小技巧、小知识点
Swift中一些小技巧、小知识点一、编译器的几个符号用来便于调试#file --> 包含这个符号文件的路径#function --> 包含这个符号的方法名#line --> 行号二、在某一个范围内生成随机数func randomInrange(range: Range) -> Int { let count = UInt32(range.e原创 2016-05-18 16:39:06 · 761 阅读 · 0 评论 -
Swift中Debug和Release两种状态下print()函数调试切换
Swift中Debug和Release两种状态下print()函数调试切换在编写项目的过程中,我们常常会打印信息到控制台,通过打印的信息来判断代码的流程或者正确性。但是这些信息仅仅在Debug的状态下需要,一旦版本发布之后,我们就不需要这些打印操作了。如果是在发布版本之前,程序员手动一个个的去注释或者删除打印操作,这必然是一件浪费时间而又麻烦的事情。如果不处理,上线的版本运行在手机中,这些打印原创 2016-04-22 15:03:33 · 6022 阅读 · 0 评论 -
iOS9通讯录框架Contacts的简单使用
iOS9通讯录框架Contacts的简单使用第一步,导入Contacts框架,import Contacts ,这个是不带UI的框架,可以直接获取联系人// 检查状态 let status: CNAuthorizationStatus = CNContactStore.authorizationStatusForEntityType(CNEntityType.Contact原创 2016-05-27 17:31:21 · 4082 阅读 · 0 评论 -
OC和Swift中循环引用的问题
总结一下自己对OC中和Swift中循环引用的认识。一.OC中的循环引用分为类中的循环引用和对象之间的循环引用。1.类的循环引用造成原因: 在两个类的.h文件中使用了#import "" 而造成两个类之间的循环引用解决办法:在一个类的.h中使用#import "",而在另外一个类中使用@class ;2.对象之间的循环引用:即两个类的实例进行了相互指向,如: // 教原创 2015-12-20 15:33:22 · 1209 阅读 · 0 评论 -
iOS cookie值的读取和存储
最近在开发一款APP的时候需要对服务端返回的cookie值进行存储和读取,就记录一下。1.通过NSHTTPCookieStorage读取服务端返回的cookie值,存储cookie值有多种方法,这里就不具体介绍了这里就是从服务器获取的cookie值2.手动创建cookie,这里设置的version、domain是根据从服务器获取过来设置的这里就是手动创建cookie原创 2016-04-05 20:20:27 · 2506 阅读 · 0 评论 -
Swift闭包和代理的简单使用
简单介绍下Swift中代理设计模式的使用和闭包的传值一、代理模式代理简单的说就是让别人帮助自己做一些不能或者不方便做的事。实现代理有以下几步:1.写一个协议,定义代理方法,就是需要做的事情2.有两个对象(A、B)假设 B是A的代理3.A 需要有个属性 delegate4.B 遵守A 的协议, 设置代理关系 A.delegate = B5.B 实现代理方法6.A触原创 2016-01-24 16:54:32 · 1071 阅读 · 0 评论 -
swift实现图片下拉放大,导航栏渐变效果
最近的一个项目需要实现图片下拉放大的效果,并且导航栏有渐变的效果。这种效果在很多App里面已经很常见了,体验也比较好。今天就自己写了一个。先上图看看效果。做的比较粗糙,但是基本的效果还是实现了的。下面我就说一下这个实现这个效果的思路。第一、图片下拉放大,主要设置图片的一个两个属性 contentMode 和 clipsToBounds第二、导航栏渐变主要是alpha 值的改变(原创 2016-01-11 16:49:43 · 3192 阅读 · 4 评论 -
Swift上类似OC中#pragma mark 和 #waring的用法
接触swift,想实现如OC代码里面的#pragma mark 和 #waring的效果一、swift代码实现OC中#pragma mark的效果#WARK: 你备注的内容效果见下图:二、swift代码实现OC中#waring的效果效果如下:原创 2015-11-26 19:20:39 · 1937 阅读 · 1 评论