<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_29680975的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_29680975</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_29680975]]></copyright><item><title><![CDATA[Xcode15一个xcworkspace管理多个xcodeproj从零开始，一个主程序，多个子程序，一个主程序引用多个静态库]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/135505376</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/135505376</guid><author>qq_29680975</author><pubDate>Wed, 10 Jan 2024 16:45:58 +0800</pubDate><description><![CDATA[主程序中添加引用：TARGETS->Build Phases -> Link Binary With Libraries。sandbox设置成NO：否则Xcode15不能运行。在MainProject目录下Pod install。在OneProject中创建Public 类。创建主程序：MainProject。在主程序的Podfile中添加代码。创建多个子程序后的目录结构。在主程序中添加引用库即可。创建Framework。]]></description><category></category></item><item><title><![CDATA[2024年最新Mac 安装cocoapods步骤]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/125637766</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/125637766</guid><author>qq_29680975</author><pubDate>Wed, 06 Jul 2022 13:39:00 +0800</pubDate><description><![CDATA[安装 cocoapods]]></description><category></category></item><item><title><![CDATA[SourceTree 推送文件太大解决办法]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/125385742</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/125385742</guid><author>qq_29680975</author><pubDate>Tue, 21 Jun 2022 10:05:16 +0800</pubDate><description><![CDATA[SourceTree 提交文件太大的解决办法]]></description><category></category></item><item><title><![CDATA[Swift 获取Image在当前ImageView 中的坐标]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/123845160</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/123845160</guid><author>qq_29680975</author><pubDate>Wed, 30 Mar 2022 14:18:55 +0800</pubDate><description><![CDATA[需要AVKit框架

import AVKit


        let image1 = UIImage(named: "image1")
        let rect1 = AVMakeRect(aspectRatio: image1?.size ?? .zero, insideRect: imageView1.bounds);

        print("imageView frame:", imageView1.frame)
        print("image rect:", r..]]></description><category></category></item><item><title><![CDATA[swift 重定向时替换其他URL]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/122728789</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/122728789</guid><author>qq_29680975</author><pubDate>Fri, 28 Jan 2022 11:29:19 +0800</pubDate><description><![CDATA[Targets -&gt; build phasses -&gt; link binary with libraries -&gt; 添加 WebKit.framework

1.准备重定向Html


&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Language" content="zh-cn"&gt;
&lt;meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312]]></description><category></category></item><item><title><![CDATA[swift 继承 多态 重载]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/122680388</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/122680388</guid><author>qq_29680975</author><pubDate>Tue, 25 Jan 2022 10:28:50 +0800</pubDate><description><![CDATA[1. 重载

子类重新加载父类方法,叫重载(个人理解)

2.多态

父类有很多子类,子类呈现出不同的状态叫多态


	多态是讲具有同样的父类的一批类之间，都重写了父类的同一个方法实现自己的行为，但是表现出来则各不相同。

	多态属于一种叫模板模式的设计模式。
	
3. 多态与重载的区别


	多态是针对不同对象调用同一个方法，能产生不一样的结果。
	
	
	重载是在同一个类内实现了和父类中多个同名的方法，重载针对同一个对象，同名的方法，参数不同，调用后结果相同不相同不关心。
	
...]]></description><category></category></item><item><title><![CDATA[Swift float double 计算丢失精度问题解决]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/122679532</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/122679532</guid><author>qq_29680975</author><pubDate>Tue, 25 Jan 2022 09:52:04 +0800</pubDate><description><![CDATA[let a = Float(1.0) - Float(0.9)
print("a = ",a)

let b = Float(0.9) - Float(0.8)
print("b = ",b)

if(a == b){
    print("true")
} else {
   print("false")
}

print("-------------")

let c = Decimal(1.0) - Decimal(0.9)
print("c = ",c)

let d = Decimal(0.9).]]></description><category></category></item><item><title><![CDATA[Swift 系统方法时时监听手机网络链接状态]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/122254356</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/122254356</guid><author>qq_29680975</author><pubDate>Fri, 31 Dec 2021 13:21:36 +0800</pubDate><description><![CDATA[1. 导入

import Network

2. 工具类

class NetworkMonitor {

  static let shared = NetworkMonitor()



  let monitor = NWPathMonitor()

  private var status: NWPath.Status = .requiresConnection



  func startMonitoring(isContented: @escaping ((Bool) -&...]]></description><category></category></item><item><title><![CDATA[如何在 Swift 中比较两个应用程序版本字符串]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/120055008</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/120055008</guid><author>qq_29680975</author><pubDate>Thu, 02 Sep 2021 10:15:08 +0800</pubDate><description><![CDATA[比较应用程序版本对人类来说是一项简单的任务。您可以立即知道哪个版本较新，例如，2.1.0 高于 1.0.0 和 2.0.0，但是当您尝试在代码中执行此操作时可能并不容易。您可以尝试在字符串拆分的帮助下手动执行此操作。您可能不知道的是，如果您的版本字符串具有一致的格式，您可以将其与在 Foundation 框架中构建的标准 String 方法进行比较。

版本字符串

在这篇文章中，我将重点关注 iOS 版本号。

来自CFBundleShortVersionString


发布版本号是一个由三个以句点分隔]]></description><category></category></item><item><title><![CDATA[Appdelegate,ViewController,View生命周期和调用书序]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/119146173</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/119146173</guid><author>qq_29680975</author><pubDate>Tue, 27 Jul 2021 16:00:36 +0800</pubDate><description><![CDATA[程序启动的完整过程如下


	main 函数
	
	
	UIApplicationMain
	
创建UIApplication对象
	创建UIApplication的delegate对象
	delegate对象开始处理(监听)系统事件(没有StoryBoard)
	程序启动完毕的时候,就会调用代理的
	application:didFinishLaunchingWithOptions: 方法
	在application:didFinishLaunchingWithOptions: 中创建UIWindow
	]]></description><category></category></item><item><title><![CDATA[Swift-NSPredicate学习整理]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/118992129</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/118992129</guid><author>qq_29680975</author><pubDate>Thu, 22 Jul 2021 10:01:51 +0800</pubDate><description><![CDATA[初始化的方式:

NSPredicate(format:"")
用法

1.检索值是否存在一个范围区间里




var number2 = 0
var numberPre2 = NSPredicate(format: "SELF BETWEEN{1,5}")
var bool2 = numberPre2.evaluateWithObject(number2)


打印结果




当number2 = 0 打印：bool2 为false
当number2 = 1 打印：bool2 为true


2.检索]]></description><category></category></item><item><title><![CDATA[StoryBoard intrinsic size 利用这个属性自定义控件]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/115080128</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/115080128</guid><author>qq_29680975</author><pubDate>Mon, 22 Mar 2021 15:42:00 +0800</pubDate><description><![CDATA[1.创建一个View,里面的高度和宽度必须都是有能撑起来的约束





2.然后在Storyboard上添加自定义的View





intrinsic size

给view 设置成这个属性, 就意味着view 是根据里面的约束自动撑起来










...]]></description><category></category></item><item><title><![CDATA[swiftUI 学习推荐]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/107729790</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/107729790</guid><author>qq_29680975</author><pubDate>Sat, 01 Aug 2020 13:41:45 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/weixin_43747691/article/details/105331213
]]></description><category></category></item><item><title><![CDATA[Android studio 使用视频]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/106881205</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/106881205</guid><author>qq_29680975</author><pubDate>Sun, 21 Jun 2020 08:11:45 +0800</pubDate><description><![CDATA[快捷目录：
- 视频教程-001 Welcome |http://pan.baidu.com/s/1gdKWIWz
- 视频教程-002 What You Should Know Before Watching This Course |http://pan.baidu.com/s/1dDOy8yl
- 视频教程-003 Using The Exercise Files |http://pan.baidu.com/s/1bnVosR9
- 视频教程-004 About Android Studio A...]]></description><category></category></item><item><title><![CDATA[用Storyboard创建Collection]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/106465574</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/106465574</guid><author>qq_29680975</author><pubDate>Mon, 01 Jun 2020 08:46:00 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[用Storyboard使用ScrollView实现分页滚动]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/106396615</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/106396615</guid><author>qq_29680975</author><pubDate>Thu, 28 May 2020 09:30:02 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Xcode多种Build Configuration配置使用(区分不同环境下的不同BaseUrl)]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/105237815</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/105237815</guid><author>qq_29680975</author><pubDate>Wed, 01 Apr 2020 08:54:01 +0800</pubDate><description><![CDATA[相关文章

https://www.jianshu.com/p/51a2bbe877aa(很不错)

第一张图片(a)



第二张图片(b)



b图片可以根据a图片确定是哪个BaseUrl ---&gt;是根据BETA 和 DEVELOP 确定的 else 就是release 版本



可以像下图一样,创建多个版本, 都用USE_......去标识












...]]></description><category></category></item><item><title><![CDATA[iOS使用BabyBluetooth进行蓝牙链接读写数据,分包拼包]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/103727626</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/103727626</guid><author>qq_29680975</author><pubDate>Fri, 27 Dec 2019 10:42:53 +0800</pubDate><description><![CDATA[这篇博客是把BabyBluetooth封装成了framework只供参考直接复制肯定不能使用的

#import &lt;Foundation/Foundation.h&gt;
#import &lt;CoreBluetooth/CoreBluetooth.h&gt;
#import &lt;AudioToolbox/AudioToolbox.h&gt;


#define channelOnPe...]]></description><category></category></item><item><title><![CDATA[Xcode 11 Xib _UITextLayoutView 崩溃]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/103579986</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/103579986</guid><author>qq_29680975</author><pubDate>Tue, 17 Dec 2019 14:34:14 +0800</pubDate><description><![CDATA[崩溃信息如下：

*** Terminating app due to uncaught exception
'NSInvalidUnarchiveOperationException',
reason: 'Could not instantiate class named _UITextLayoutView because no class named _UITextLayoutView w...]]></description><category></category></item><item><title><![CDATA[SWIFT_VERSION '3.0' is unsupported, supported versions are: 4.0, 4.2, 5.0. (in target 'Charts')]]></title><link>https://blog.youkuaiyun.com/qq_29680975/article/details/103508574</link><guid>https://blog.youkuaiyun.com/qq_29680975/article/details/103508574</guid><author>qq_29680975</author><pubDate>Thu, 12 Dec 2019 14:36:18 +0800</pubDate><description><![CDATA[SWIFT_VERSION '3.0' is unsupported, supported versions are: 4.0, 4.2, 5.0. (in target 'Charts')
解决办法:







找到pod-&gt;在TARGETS里面找到Charts-&gt;Build Settings里面找到Swift Compiler - language 改一下Swift Lan...]]></description><category></category></item></channel></rss>