iOS
文章平均质量分 53
嘻嘻哈哈 ^ _ ^ !
这个作者很懒,什么都没留下…
展开
-
SourceTree 推送文件太大解决办法
SourceTree 提交文件太大的解决办法原创 2022-06-21 10:05:16 · 2268 阅读 · 0 评论 -
Swift 获取Image在当前ImageView 中的坐标
需要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..原创 2022-03-30 14:18:55 · 2986 阅读 · 0 评论 -
swift 重定向时替换其他URL
Targets -> build phasses -> link binary with libraries -> 添加 WebKit.framework1.准备重定向Html<html><head><meta http-equiv="Content-Language" content="zh-cn"><meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312原创 2022-01-28 11:29:19 · 2779 阅读 · 0 评论 -
swift 继承 多态 重载
1. 重载子类重新加载父类方法,叫重载(个人理解)2.多态父类有很多子类,子类呈现出不同的状态叫多态 多态是讲具有同样的父类的一批类之间,都重写了父类的同一个方法实现自己的行为,但是表现出来则各不相同。 多态属于一种叫模板模式的设计模式。 3. 多态与重载的区别 多态是针对不同对象调用同一个方法,能产生不一样的结果。 重载是在同一个类内实现了和父类中多个同名的方法,重载针对同一个对象,同名的方法,参数不同,调用后结果相同不相同不关心。 ...原创 2022-01-25 10:28:50 · 1674 阅读 · 0 评论 -
Swift 系统方法时时监听手机网络链接状态
1. 导入import Network2. 工具类class NetworkMonitor { static let shared = NetworkMonitor() let monitor = NWPathMonitor() private var status: NWPath.Status = .requiresConnection func startMonitoring(isContented: @escaping ((Bool) -&...原创 2021-12-31 13:21:36 · 1799 阅读 · 0 评论 -
如何在 Swift 中比较两个应用程序版本字符串
比较应用程序版本对人类来说是一项简单的任务。您可以立即知道哪个版本较新,例如,2.1.0 高于 1.0.0 和 2.0.0,但是当您尝试在代码中执行此操作时可能并不容易。您可以尝试在字符串拆分的帮助下手动执行此操作。您可能不知道的是,如果您的版本字符串具有一致的格式,您可以将其与在 Foundation 框架中构建的标准 String 方法进行比较。版本字符串在这篇文章中,我将重点关注 iOS 版本号。来自CFBundleShortVersionString发布版本号是一个由三个以句点分隔原创 2021-09-02 10:15:08 · 603 阅读 · 0 评论 -
Appdelegate,ViewController,View生命周期和调用书序
程序启动的完整过程如下 main 函数 UIApplicationMain 创建UIApplication对象 创建UIApplication的delegate对象 delegate对象开始处理(监听)系统事件(没有StoryBoard) 程序启动完毕的时候,就会调用代理的 application:didFinishLaunchingWithOptions: 方法 在application:didFinishLaunchingWithOptions: 中创建UIWindow转载 2021-07-27 16:00:36 · 152 阅读 · 0 评论 -
Swift-NSPredicate学习整理
初始化的方式:NSPredicate(format:"")用法1.检索值是否存在一个范围区间里var number2 = 0var numberPre2 = NSPredicate(format: "SELF BETWEEN{1,5}")var bool2 = numberPre2.evaluateWithObject(number2)打印结果当number2 = 0 打印:bool2 为false当number2 = 1 打印:bool2 为true2.检索原创 2021-07-22 10:01:51 · 776 阅读 · 0 评论 -
StoryBoard intrinsic size 利用这个属性自定义控件
1.创建一个View,里面的高度和宽度必须都是有能撑起来的约束2.然后在Storyboard上添加自定义的Viewintrinsic size给view 设置成这个属性, 就意味着view 是根据里面的约束自动撑起来...原创 2021-03-22 15:42:00 · 523 阅读 · 0 评论 -
用Storyboard创建Collection
原创 2020-06-01 08:46:00 · 176 阅读 · 0 评论 -
用Storyboard使用ScrollView实现分页滚动
原创 2020-05-28 09:30:02 · 261 阅读 · 0 评论 -
Xcode多种Build Configuration配置使用(区分不同环境下的不同BaseUrl)
相关文章https://www.jianshu.com/p/51a2bbe877aa(很不错)第一张图片(a)第二张图片(b)b图片可以根据a图片确定是哪个BaseUrl --->是根据BETA 和 DEVELOP 确定的 else 就是release 版本可以像下图一样,创建多个版本, 都用USE_......去标识...原创 2020-04-01 08:54:01 · 331 阅读 · 0 评论 -
iOS使用BabyBluetooth进行蓝牙链接读写数据,分包拼包
这篇博客是把BabyBluetooth封装成了framework只供参考直接复制肯定不能使用的#import <Foundation/Foundation.h>#import <CoreBluetooth/CoreBluetooth.h>#import <AudioToolbox/AudioToolbox.h>#define channelOnPe...原创 2019-12-27 10:42:53 · 2684 阅读 · 0 评论 -
Xcode 11 Xib _UITextLayoutView 崩溃
崩溃信息如下:*** Terminating app due to uncaught exception'NSInvalidUnarchiveOperationException',reason: 'Could not instantiate class named _UITextLayoutView because no class named _UITextLayoutView w...转载 2019-12-17 14:34:14 · 138 阅读 · 0 评论 -
SWIFT_VERSION '3.0' is unsupported, supported versions are: 4.0, 4.2, 5.0. (in target 'Charts')
SWIFT_VERSION '3.0' is unsupported, supported versions are: 4.0, 4.2, 5.0. (in target 'Charts')解决办法:找到pod->在TARGETS里面找到Charts->Build Settings里面找到Swift Compiler - language 改一下Swift Lan...转载 2019-12-12 14:36:18 · 1193 阅读 · 0 评论 -
UIStackView 简单使用
UIStackView是UIKit在iOS9中新增的视图类。它可以被理解成一个容器,能够对添加到容器中的视图按照行或列进行布局。作者以之前文章中提到的4分图为例,结合storyboard,可以很快速地实现效果。如下图。之后还会再更新...原创 2019-12-12 14:19:25 · 848 阅读 · 0 评论 -
蓝牙通讯中会涉及到进制数转换,高低位(位操作)
蓝牙传输都是16进制10进制转成16进制 左高(高8位) 右低(低8位)在我们接触编程知识时,总会接触有关进制转换的知识,最常见的就是10进制与二进制或十六进制之间的转换,很多时候我们总会遗忘,虽然现在也出现了很多可以直接使用的网络在线的进制转换工具,但考试中,我们就要靠自己通过公式进行运算了。今天就跟大家分享一下有关进制转换的理论知识,大家可以通过对比从里面发现共同点,这样便于我们...原创 2019-12-12 14:06:21 · 1029 阅读 · 0 评论 -
ios 中如何应对UIScrollView快速滑动(暴力用户,暴力测试)
1.实现UIScrollViewDelegate开始滑动:- (void)scrollViewWillBeginDecelerating:(UIScrollView*)scrollView滑动过程:- (void)scrollViewDidScroll:(UIScrollView*)scrollView滑动结束:- (void)scrollViewDi...转载 2019-12-12 13:54:10 · 488 阅读 · 0 评论 -
iOS13 ,xcode11新建项目真机运行出现黑屏及新出现的SceneDelegate的作用
iOS13之后,xcode 11新建项目,大家会发现项目中多出了SceneDelegate这个类,而且新建项目之后,在模拟器上运行没问题,真机上低于iOS13系统的手机就会出现黑屏(解决方法就是在AppDelegate.h中按照以前的方法添加一个UIWindow *window的属性即可,因为iOS13以下根本没有UIScene这一层),而后看了代码发现,image.png,在App...转载 2019-11-28 09:34:39 · 619 阅读 · 0 评论 -
删除MacOS 系统下文件下所有SVN文件
不到万不得已的情况下,不要用的哦cd到文件夹, 给了我一个命令,就可以删除一个目录包括子目录的所有.svn文件,很强大很经典命令如下:find . -type d -name ".svn"|xargs rm -rf相关参数说明:find 就不说了,你懂得. 就是包含的目录,一般泛指当前-type 英文会认识abc的 基本上就懂了d 这个标示...原创 2019-11-27 17:11:18 · 137 阅读 · 0 评论 -
避免滥用继承
避免滥用继承继承确实很好用,带来的后果就是子类会把父类的方法挨个执行一遍,乍一看没什么,但是如果这个方法很消耗性能呢。我们这个项目就遇到了,app 经常卡死,用着用着,就 freeze 了,点哪里都没反应。因为所有页面都继承自基类的一个设计,恰好基类里面有一个比较耗时的操作,每个页面都会执行至少三次,就导致了页面假死。重构后的做法是设计成一个 category,只是给 UIViewCo...原创 2019-11-25 15:18:12 · 261 阅读 · 0 评论 -
分享一张图片方便查阅(颜色色值):
颜色网站[很全]http://tools.jb51.net/color/colordphttp://tools.jb51.net/color分享一张图片方便查阅(颜色色值):颜色色值.png原创 2019-11-21 11:19:01 · 304 阅读 · 1 评论 -
Xcode (xip)官方原版下载 Xcode 所有历史版本(转载)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/lwqldsyzx/article/details/84455644Xcode 10 包含了为所有 Apple 平台打造出色 app 所需的一切资源。现在,Xcode 和 Instruments 在 macOS Mojave 的全新深色模...转载 2019-11-20 10:08:29 · 1274 阅读 · 0 评论 -
iOS学习之Swift史上最全第三方大全
目录“轮子” 工具类 存储类 网络类 图片类 界面类 框架类 “车子” 示例项目 完整应用 “轮子” 工具类 项目 开发者 备注 SwiftyJSON tangplin,lingoer GitHub 上最为开发者认可的 JSON 解析库 Argo thoughtbot 函数式 ...转载 2019-11-15 09:24:40 · 1849 阅读 · 1 评论 -
swift4 is as as? as! 区别
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/binglan520/article/details/54631223is 相当于OC中的isKindOfClass1,as使用场合(1)从派生类转换为基类,向上转型(upcasts)即可以把字累转换成父类class...转载 2019-11-14 13:55:37 · 426 阅读 · 0 评论 -
iOS之NSData和字节学习
NSData:Nsdata里面可以放很多类型,可以放string类型,可以放十六进制数据,可以放十进制数据,可以放二进制数据等等等。在oc中,主要与十进制数据打交道。在网络传输中,我们可以讲十进制数据封装在nsdata中传输,也可以讲字符串封在nsdata中传输。但是有些单芯片设备,比如蓝牙传输,无法讲字符串封装在nsdata中传输。这时候我们就只能用最底层的数据传输了。二进制,八进制,十...转载 2019-10-25 11:19:27 · 1285 阅读 · 0 评论 -
OC/swift 类/结构体
----------- OC ---------1.结构体与类的相同点:a.都可以将多个数据封装为1个整体。1.不同点a.结构体只能封装数据,而类还可以封装行为b.结构体变量分配在栈空间(如果是是1个局部变量的情况下),而对象分配在堆空间。i.栈...原创 2019-10-23 13:21:26 · 486 阅读 · 0 评论 -
iOS UIBezierPath贝赛尔曲线详解
UIBezierPath是在画图,定制动画轨迹中都有应用。UIBezierPath主要用来绘制矢量图形,它是基于Core Graphics对CGPathRef数据类型和path绘图属性的一个封装,所以是需要图形上下文的(CGContextRef),所以一般UIBezierPath在drawRect中使用。本文主要介绍了iOS 贝塞尔曲线(UIBezierPath)属性、方法的相...转载 2019-10-22 10:00:53 · 142 阅读 · 0 评论 -
iOS如何获取当前地理位置
导入 CoreLocation 框架以及头文件#import <CoreLocation/CoreLocation.h> 创建CLLocationManager对象并设置代理 <CLLocationManagerDelegate> // 初始化定位管理器 _locationManager = [[CLLocationManager alloc] i...转载 2019-02-18 11:19:19 · 2003 阅读 · 0 评论 -
NSDictionary底层实现原理
一言以蔽之:在OC中NSDictionary是使用hash表来实现key和value的映射和存储的。那么问题来了什么是hash表呢?哈希表(hash表): 又叫做散列表,是根据关键码值(key value)而直接访问的 数据结构 。也就是说它通过关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射叫做 函数 ,存放记录的 数组 叫做 哈希表 。读到此处我们得到一个关键信息:...转载 2018-10-23 14:03:46 · 254 阅读 · 0 评论 -
NSArray和NSSet的区别
NSSet到底什么类型?其实它和NSArray功能性质一样,用于存储对象,属于集合;NSSet , NSMutableSet类声明编程接口对象,无序的集合,在内存中存储方式是不连续的像NSArray,NSDictionary(都是有序的集合)类声明编程接口对象是有序集合,在内存中存储位置是连续的; NSSet和我们常用NSArry区别是:在搜索一个一个元素时NSSet比NSArra...转载 2018-10-25 15:40:50 · 217 阅读 · 0 评论 -
GCD dispatch_after dispatch_group_t dispatch_group_enter dispatch_group_leave dispatch_group_notify
在实际的开发中,经常会遇到想要在指定的时间间隔后执行某个处理<一>在GCD中提供了dispatch_after函数来完成这一操作dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(<#delayInSeconds#> * NSEC_PER_SEC)), dispatch_get_main_queue(...原创 2016-10-21 10:49:04 · 420 阅读 · 0 评论 -
iOS沙盒
Documents:保存应用运行时生成的需要持久化的数据,iTunes会自动备份该目录。苹果建议将在应用程序中浏览到的文件数据保存在该目录下。Library: Caches: 一般存储的是缓存文件,例如图片视频等,此目录下的文件不会再应用程序退出时删除。 在手机备份的时候,iTunes不会备份该目录。 ...原创 2019-02-18 13:26:35 · 144 阅读 · 0 评论 -
图片压缩动态获取图片高度
iOS开发 - 根据图片URL获取图片的尺寸(宽高)https://www.jianshu.com/p/854dc9c810c9 第一种方法,基本上是无损压缩(肉眼基本看不出差别,不知到底损失了什么内容)UIImageJPEGRepresentation(image, compression)1这个方法可以将iPhone6拍摄的照片压缩到几百Kb的极限值,到极限值之后不管com...转载 2019-02-18 17:17:27 · 168 阅读 · 0 评论 -
iOS Storyboard约束详解(附gif图)
等分约束网址https://www.jianshu.com/p/b88c65ffc3eb转载 2019-03-13 14:37:07 · 434 阅读 · 0 评论 -
Mac本地上传码云
cd gamecloud//初始化本地仓库git init//提交所有代码到文件中转站(注意后面有个点)git add .//提交所有代码到本地仓库git commit -m "first commit"//查看git状态git status//连接到码云远程仓库git remote add origin https://gitee.com/wudando...转载 2019-04-03 08:46:09 · 246 阅读 · 0 评论 -
iOS蓝牙开发4.0总结学习Demo
--- .h文件 ---#import <Foundation/Foundation.h>//BLIE4.0 蓝牙库#import <CoreBluetooth/CoreBluetooth.h>/**蓝牙链接状态@param state 状态*/typedef void (^BLELinkBlock)(NSString *s...原创 2019-07-10 13:46:13 · 475 阅读 · 0 评论 -
iOS遍历TableView 上所有Cell
- (NSArray *)cellsForTableView:(UITableView *)tableView{ NSInteger sections = tableView.numberOfSections; NSMutableArray *cells = [[NSMutableArray alloc] init]; for (int section = 0; se...原创 2019-09-18 15:52:49 · 3324 阅读 · 0 评论 -
runloop 多线程
好文章链接:https://www.jianshu.com/p/b9426458fcf6// Runloop 负责1. 监听 2.保证程序不退出//currentRunLoop 当前线程的 RunLoopNSTime * timer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(timerMeth...原创 2018-10-22 16:15:14 · 234 阅读 · 0 评论 -
循环引用
经常听说block的循环应用,就是说的A引用B ,B又引用A,这样的交叉引用,导致AB都不能释放,后果就是,内存会增加,甚至导致程序崩溃。下面通过代码来看产生的原因首先定义一个Friend的类1.1 Friend.h文件import <Foundation/Foundation.h>@interface Friend : NSObject@property(nonato...原创 2018-08-08 15:14:14 · 302 阅读 · 0 评论