<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ChasingDreamsCoder的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ChasingDreamsCoder</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ChasingDreamsCoder]]></copyright><item><title><![CDATA[Mac安装cocopods]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/102909191</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/102909191</guid><author>ChasingDreamsCoder</author><pubDate>Tue, 05 Nov 2019 08:47:46 +0800</pubDate><description><![CDATA[1.打开终端,查询ruby版本.因为mac自带ruby环境.所以我们输入


ruby -v


当终端中这样显示的话就证明Mac下自带ruby环境.



2.终端中输入命令


sudo gem install cocoapods


输入完之后会显示让用户输入密码,密码输入完成之后会有一个短暂的寂静.这时需要耐心等待一下来判断是否需要更换ruby镜像.



如果等待一会儿还是毫无反应,那...]]></description><category></category></item><item><title><![CDATA[iOS 语音合成支持后台和锁屏情况]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/86230465</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/86230465</guid><author>ChasingDreamsCoder</author><pubDate>Thu, 10 Jan 2019 14:18:31 +0800</pubDate><description><![CDATA[最近有一个需求，就是要加入语音合成，并能够在进入后台或者锁屏之后能够播报，现在最流行的应该就是科大讯飞了，功能强大，用起来简单，但是如果只要简单的TTS功能就没有必要集成其他的SDK了，iOS中提供好的API就可以了。

AVSpeechSynthesizer

这个类可以用来播放一个或者多个语音内容，播放的语音内容都是通过实例化AVSpeechUtterance而得到，对于一个或者多个AVSpe...]]></description><category></category></item><item><title><![CDATA[textView 键盘变发送，置灰发送，小细节优化]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/83061781</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/83061781</guid><author>ChasingDreamsCoder</author><pubDate>Mon, 15 Oct 2018 17:19:07 +0800</pubDate><description><![CDATA[最近在做发表回复评论这样的功能，总结了一点小小的知识点，写下来方便以后查找

1，将UITextView 弹起的键盘换行按钮变成发送按钮，这个只要改变一个属性即可


_textView.returnKeyType = UIReturnKeySend;

这个属性是一个枚举类型，可以根据自己的需要去进行设置


typedef NS_ENUM(NSInteger, UIReturnKeyType)...]]></description><category></category></item><item><title><![CDATA[iOS 支付宝支付及授权]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/82391546</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/82391546</guid><author>ChasingDreamsCoder</author><pubDate>Tue, 04 Sep 2018 23:34:15 +0800</pubDate><description><![CDATA[这篇博客只是讲解了客户端如何接入

下载支付的SDK

[https://doc.open.alipay.com/doc2/detail?treeId=54&amp;amp;articleId=103419&amp;amp;docType=1](https://doc.open.alipay.com/doc2/detail?treeId=54&amp;amp;articleId=103419&amp;amp;docType=1)...]]></description><category></category></item><item><title><![CDATA[iOS 跳转到AppStore进行评分]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/82377822</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/82377822</guid><author>ChasingDreamsCoder</author><pubDate>Tue, 04 Sep 2018 09:37:53 +0800</pubDate><description><![CDATA[跳转到AppStore评分：

跳转到AppStore,进行评分；

如何获得APPID在https://itunesconnect.apple.com中创建应用即可在应用界面获得


        NSString *str = [NSString stringWithFormat:@&quot;itms-apps://itunes.apple.com/app/id%@?action=write-rev...]]></description><category></category></item><item><title><![CDATA[xcode打包directory not found for option Release-iphoneos]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/81980957</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/81980957</guid><author>ChasingDreamsCoder</author><pubDate>Thu, 23 Aug 2018 15:23:45 +0800</pubDate><description><![CDATA[最近开发项目的完成第一版，要打包进行测试，觉得应该不会出现什么问题吧，等待过程中突然报错

这个是什么情况，于是通过各种办法来找解决办法，在网上有很多的解决办法，一一试过了都不好用，各种重启、删除、重新导入，也都不好用，真的让人崩溃啊，没有办法还是要找啊~。最终还是让我解决了这个问题，虽然我也不知道为什么，我还是说说方法吧：

1.点击xcode --&amp;gt;preferences



2.选中...]]></description><category></category></item><item><title><![CDATA[中文转码问题]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/78019411</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/78019411</guid><author>ChasingDreamsCoder</author><pubDate>Mon, 18 Sep 2017 15:11:51 +0800</pubDate><description><![CDATA[在做sharesdk分享的过程中遇到了一个问题，就是当在url中拼接一个中文字符串的时候无法分享出去，并报出QQAPI- ConfigManager.m:113 @_@的问题，看来是一个蒙圈的表情啊，其实这个不是什么大问题，就是忘记对中文字符串进行转码，只要将

stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding这样的方]]></description><category></category></item><item><title><![CDATA[关于 Cannot create __weak reference in file using manual reference counting及配置ReactiveCocoa]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/78003889</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/78003889</guid><author>ChasingDreamsCoder</author><pubDate>Sat, 16 Sep 2017 15:35:43 +0800</pubDate><description><![CDATA[最近再看关于reactiveCocoa的用法，决定尝试使用，在cocoapods中将其集成到项目里，这里没有什么难度，但是一运行程序问题出现了，提示 

Cannot create __weak reference in file using manual reference counting,解决的办法就是在Build
 Settings--------->Aplle LLVM版本号 -]]></description><category></category></item><item><title><![CDATA[swift 泛型]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/70194161</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/70194161</guid><author>ChasingDreamsCoder</author><pubDate>Mon, 17 Apr 2017 13:25:29 +0800</pubDate><description><![CDATA[泛型函数
泛型函数可以适用于任何类型：func swapTwoValues(_ a: inout T, _ b: inout T) { let temporaryA = a
a= b
b = temporaryA
}func swapTwoInts(_ a: inout Int, _ b: inout Int)
func swapTwoValues(_ a: inout T, _ b: inou]]></description><category></category></item><item><title><![CDATA[swift 协议]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/69386395</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/69386395</guid><author>ChasingDreamsCoder</author><pubDate>Fri, 14 Apr 2017 16:09:34 +0800</pubDate><description><![CDATA[协议定义了一个蓝图，规定了用来实现某一特定任务或者功能的方法、属性，以及其他需要的东西。类、结构体或枚举都可以遵循协议，并未协议定义的这些要求提供具体实现。某个类型能都满足某个协议的要求，就可以说该类型遵循这个协议。
除了遵循协议的类型必须实现在要求外，还可以对协议进行扩展，通过扩展来实现一部分要求或者实现一些附加功能，这样遵循协议的类型就能够使用这些功能。
属性要求
协议可以要求遵循协议的]]></description><category></category></item><item><title><![CDATA[swift 扩展]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/69372550</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/69372550</guid><author>ChasingDreamsCoder</author><pubDate>Thu, 06 Apr 2017 11:16:31 +0800</pubDate><description><![CDATA[扩展就是为一个已有类、结构体、枚举类型或者协议类型添加新功能。这包括在没有权限获取原始源代码的情况下扩展类型的能力。扩展和objectvie从中的分类类似。
swift中的扩展可以：
添加计算类型属性和计算型类型属性
定义实例方法和类型方法
提供新的构造器
定义下标
定义和使用新的嵌套类型
使一个已有类型符合某个协议
在swift中，可以对协议进行扩展，提供协议要求的实现，或者添加]]></description><category></category></item><item><title><![CDATA[swift 类型转换]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/67636908</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/67636908</guid><author>ChasingDreamsCoder</author><pubDate>Tue, 28 Mar 2017 15:36:30 +0800</pubDate><description><![CDATA[定义一个类层次作为例子





你可以将类型转换用在类和子类的层次结构上，检查特定类实例的类型并且转换这个类实例的类型成为这个层次
结构中的其他类型。下面的三个代码段定义了一个类层次和一个包含了这些类实例的数组，作为类型转换的例
子。

第一个代码片段定义了一个新的基类
MediaItem
。这个类为任何出现在数字媒体库的媒体项提供基础功能。特别的，它声明了一个
String]]></description><category></category></item><item><title><![CDATA[ios 取得当前界面方法]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/67634113</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/67634113</guid><author>ChasingDreamsCoder</author><pubDate>Tue, 28 Mar 2017 13:56:20 +0800</pubDate><description><![CDATA[在项目中遇到了一个问题，就是项目的需求是在用户退到后台的时候再次进入软件要出现一个手势密码的界面，开始我是这样写的：  _openLockView = [[OpenLockViewController alloc] init];
        UINavigationController *openNav = [[UINavigationController alloc] initWithRoo]]></description><category></category></item><item><title><![CDATA[swift 可选链式调用]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/64552269</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/64552269</guid><author>ChasingDreamsCoder</author><pubDate>Mon, 27 Mar 2017 14:54:09 +0800</pubDate><description><![CDATA[可选链式调用是一种可以在当前值可能为nil的可选值上请求和调用属性、方法及下标的方法。如果可选值有值，那么调用就会成功；如果可选值是nil，那么调用将返回nil。多个调用可以连接在一起形成一个调用链，如果其中任何一个节点为nil，整个调用链都会失败，即返回nil。
使用可选链式调用代替强制展开
通过在想调用的属性，方法，或下标的可选值后面放一个问号，可以定义一个可选链。这一点很像在可选值后放一]]></description><category></category></item><item><title><![CDATA[swift 错误处理]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/64441123</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/64441123</guid><author>ChasingDreamsCoder</author><pubDate>Thu, 23 Mar 2017 13:48:47 +0800</pubDate><description><![CDATA[错误处理是响应错误以及从错误中恢复的过程。swift提供了在运行时对可恢复错误的抛出、捕获、传递和操作的一等公民支持。
某些操作无法保证总是执行完所有代码或总是生成有用的结果。可选类型可用来表示值缺失，但是当某个操作失败时，最好能得知失败的原因，从而可以做出相应的应对。
举个例子，假如有个从磁盘上的某个文件读取数据并进行处理的任务，该任务会有多种可能失败的情况，包括制定路径下文件并不存在，文件]]></description><category></category></item><item><title><![CDATA[swift 析构器]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/64128175</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/64128175</guid><author>ChasingDreamsCoder</author><pubDate>Mon, 20 Mar 2017 17:40:47 +0800</pubDate><description><![CDATA[析构过程原理
swift会自动释放不需要的实例以释放资源，swift通过自动引用计数处理实例的内存管理。通常当你的实例被释放时不需要手动的去清理，但是，当使用自己的资源使，可能需要进行一些额外的清理。
析构器是在实例释放发生前被自动调用，不能主动调用析构器。子类继承了父类的析构器，并且在子类析构器实现的最后，父类的析构器会被自动调用。即使子类没有提供自己的析构器，父类的析构器也同样会被调用。]]></description><category></category></item><item><title><![CDATA[swift 构造器]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/62041407</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/62041407</guid><author>ChasingDreamsCoder</author><pubDate>Sun, 19 Mar 2017 23:59:29 +0800</pubDate><description><![CDATA[构造过程是使用类、结构体或枚举类型的实例之前的准备过程。在新实例可用前必须执行这个过程，具体操作包括设置实例中每个存储型属性的初始值和执行其他必须的设置或初始化工作。
通过定义构造器来实现构造过程，这些构造器可以看做是用来创建特定类型新实例的特殊方法。与oc中的构造器不同，swift的构造器无需返回值，它们的主要任务是保证新实例在第一次使用前完成正确的初始化。
类的实例也可以通过定义析构器在实]]></description><category></category></item><item><title><![CDATA[swift 继承]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/61916843</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/61916843</guid><author>ChasingDreamsCoder</author><pubDate>Tue, 14 Mar 2017 09:44:13 +0800</pubDate><description><![CDATA[一个类可以继承另一个类的方法，属性和其他特性。当一个雷继承其他类的时候，继承类叫子类，被继承类叫超类。在swift中，继承是区分类与其他类型的一个基本特征。
在swift中，类可以调用和访问超类的方法，属性和下标，并且可以重写这些方法，属性和下标来优化或修改他们的行为。swift会检查你的重写定义在超类中是否有匹配的定义，以此保证你的重写行为是正确的。
可以为类中继承来的属性添加属性观察器，这]]></description><category></category></item><item><title><![CDATA[swift 下标]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/61913591</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/61913591</guid><author>ChasingDreamsCoder</author><pubDate>Mon, 13 Mar 2017 14:01:26 +0800</pubDate><description><![CDATA[下标语法
下标允许你通过在实例名称后面的方括号中传入一个或者多个索引值来对实例进行存取。语法类似于实例方法语法和计算型属性语法的混合。与定义实例方法类似，定义下标使用subscript关键字，指定一个或多个输入参数和返回类型：与实例方法不同的是，下标可以设定为读写或只读。这种行为由getter和setter实现，有点类似计算属性。  struct TimesTable {
        let]]></description><category></category></item><item><title><![CDATA[swift 方法]]></title><link>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/60960781</link><guid>https://blog.youkuaiyun.com/ChasingDreamsCoder/article/details/60960781</guid><author>ChasingDreamsCoder</author><pubDate>Fri, 10 Mar 2017 15:10:04 +0800</pubDate><description><![CDATA[实例方法
实例方法是属于某个特定类、结构体或者枚举类型实例的方法。实例方法提供访问和修改实例属性的方法或者提供与实例目的相关的功能，并以此来支撑实例的功能。
下面的例子，定义一个简单的Counter类：]]></description><category></category></item></channel></rss>