- 博客(56)
- 资源 (6)
- 收藏
- 关注
原创 iOS 切换桌面Logo
日前开发项目的时候有一个需求就是要切换手机App的Logo,起初非常纳闷,这个Logo还能切换吗?于是我便开始查阅资料,原来苹果从iOS10.3开始支持动态更换应用logo了。
2023-02-10 11:07:38
543
原创 记录一下Chrome打印预览 ,图片不居中问题
Chrome版本升级到108版本后,之前打印预览界面打印的居中图片,竟然分为了两页了。这是需打印的模板图片这是错误的打印预览界面,这里预览界面竟然分页了解决方案居中方法修改修改后结果OK,记录一下日常bug,大家加油!!!
2022-12-06 18:17:03
1342
原创 git push error: src refspec master does not match any
error: src refspec master does not match any
2022-10-11 16:45:48
501
原创 node执行报错“error Command failed with exit code 1.“
项目执行yarn serve的时候,node报错了,如图解决方案终端执行这一行命令export NODE_OPTIONS=--openssl-legacy-provider再次运行程序即可
2022-04-19 15:56:27
18537
3
原创 vue插槽slot的基本使用
默认插槽子组件:<!-- Son.vue --><template> <div> <h3>我是子组件</h3> <!-- 这里就是定义插槽的位置 --> <slot> 这里插槽的后备内容,如果父组件中没有填写插槽内容,那么这里会默认显示子组件插槽的后备内容,也就是默认值</slot> </div></template>父组件:<!-- F
2022-04-08 16:23:27
1046
原创 Mac创建.prettierrc文件详解
第一步: 打开任意一个编辑器(我这里用的vscode)创建.prettierrc文件,然后在文件中编写规则第二步: 找到刚才创建的文件,由于mac会自动隐藏“•”开头的文件,如果文件找不到,可以按下shift+option+. 显示隐藏文件。然后拖拽或者复制到mac根目录,就是下方小房子图标目录。第三步 在vscode中引入这个文件的路径 “/Users/xxxxx/.prettierrc”,注意这里的 xxxx 就是你小房子文件夹的名字。OK完事,大家加油...
2022-03-18 09:56:27
1415
原创 swift 统计字符串中出现最多的字符和次数
废话不多说直接上代码吧/// 统计字符串中出现最多的字符和次数/// - Parameter str: 目标字符串/// - Returns: maxCountChar:出现最多的字符 maxCount:出现字数 sameChar:相同数量的字符func getAppearMaxCountChar(with str: String) -> (maxCountChar: String, maxCount: Int, sameChar: [String]) { assert(
2021-06-23 11:59:46
787
原创 NSTimer 循环引用
先来一个TimerDemo助助兴。哟呵呵定时器在项目开发中会经常使用,下边就是最简单的一个定时器@interface ViewController ()// self 对 timer 强引用@property (nonatomic, strong) NSTimer *timer;@end- (void)viewDidLoad { [super viewDidLoad]; self.timer = [NSTimer scheduledTimerWithTimeInterval:1
2021-06-09 16:31:52
285
原创 OC方法调用流程
文章目录消息发送动态解析消息转发抛出异常总结OC调用方法的机制其实就是消息转发机制,最终都是转成objc_msgSend的函数调用。接下来我们就一起消息发送动态解析一旦消息发送阶段没有找到方法,那么就会执行动态解析阶段,会调用两个方法对象方法 调用 + (BOOL)resolveInstanceMethod:(SEL)sel类方法 调用+ (BOOL)resolveClassMethod:(SEL)sel这两个方法基本一致,这里我们介绍一下对象方法.h@interface DDPerson
2021-05-27 10:51:31
1131
原创 Block的变量捕获
文章目录变量分类变量捕获后的block变量分类在了解变量捕获之前,我们首先了解一下C语言中变量的分类。C语言中变量分为三类全局变量: 作用域在全局,哪个地方都能调用局部变量:作用域在大括号中,只能在大括号内调用block变量捕获分类// 全局变量int = 10;int main(int argc, const char * argv[]) { @autoreleasepool { // 自动变量 auto int b = 20;
2021-05-11 22:16:58
272
1
原创 Block本质
文章目录底层实现Block分类ARC环境自动copy的情况总结底层实现项目开发中我们经常使用block,今天我们就一起研究一下block,我们一起看一下block到底是什么。int main(int argc, const char * argv[]) { @autoreleasepool { void(^Block)(void) = ^{ NSLog(@"你好呀 Block"); }; Block() }
2021-05-11 16:04:00
279
1
原创 iOS底层学习——Category(三)
文章目录分类不能直接添加成员变量通过关联对象添加成员变量分类不能直接添加成员变量前边两篇文章我们介绍了什么是Category。接下来我们看下如何给category添加成员变量通过读取分类的源码我们知道struct category_t { const char *name; classref_t cls; struct method_list_t *instanceMethods; // 对象方法列表 struct method_list_t *classMethods; // 类方法列表
2021-04-26 15:56:06
237
原创 iOS底层学习——Category(二)
文章目录+load方法+load方法总结+initialize方法+initialize方法总结+load方法我们先来看下load方法是什么时间加载的// 我们创建一个Person对象@interface DDPerson : NSObject@end@implementation DDPerson+ (void)load { NSLog(@"DDPerson ------------ load");}@end// 创建 Eat 分类@interface DDPerson
2021-04-23 16:05:10
92
原创 iOS底层学习——Category(一)
文章目录分类的目的底层结构加载过程分类的目的我们为什么会用到分类呢,我觉得有以下原因为了让不同功能模块化分别写在不同文件中,便于管理和后期修改与维护减少单个文件的代码量这就可以让不同开发者共同完成一个类的创建给系统对象添加一些我们自定的方法底层结构我们给一个类添加分类以后到底是如何实现的呢。首先我们给类创建分类之后,在程序运行的时候,Runtime会生成一个category_t的结构体,如下struct category_t { const char *name; classre
2021-04-17 18:21:01
124
原创 iOS底层学习——KVC
文章目录简单使用实现原理赋值原理取值原理补充——KVC能触发KVO吗简单使用/// 创建学生对象@interface DDStudent : NSObject@property (nonatomic, strong) NSString *name;@end/// 创建人对象@interface DDPerson : NSObject@property (nonatomic, assign) int age;/// 把学生对象设置为属性@property (nonatomic, stron
2021-04-08 09:55:57
284
原创 iOS底层学习——KVO
文章目录使用底层原理使用/// 创建Person类@interface DDPerson : NSObject@property (nonatomic, assign) int age;@end底层原理当我们创建
2021-04-07 21:47:05
324
原创 iOS底层学习——OC对象中的isa和superclass
文章目录对象分类isa和superclass案例分析对象分类我们都知道OC对象分为实例对象、类对象、和元类对象 ,那么它们到底存放着哪些信息呢。实例对象:也就是instance对象,存放着isa,成员变量(值)。类对象:也就是class对象,存放着isa,superclass,成员变量(名字),属性,对象方法,协议信息元类对象:也就是mata-class对象,存放着isa,superclass,类方法由上图我们可以看出对象都包含一个isa,而类对象和元类对象另外还要一个superclass,接
2021-04-05 17:02:23
325
原创 iOS14 UIPikerView 取消选中行的默认背景
iOS14之后UIPikerView选中行居然有背景颜色了如图,这种情况我们是不需要的解决方案: 我们只需一句代码搞定if #available(iOS 14.0, *) { pickerView.subviews[1].backgroundColor = .clear}⚠️⚠️⚠️警告,这句代码要放在确定数据源之后(numberOfRowsInComponent),否则会因为数据源越界而导致程勋奔溃⚠️⚠️我这里放在了func pickerView(_ pickerView: UIP
2021-03-25 09:45:33
1330
4
原创 js创建对象的三中方式
方式一:字面量创建对象var person = { uname: '孙悟空', age:500, sex:'男', skill: function(){ console.log("我会七十二变"); }}方式二:new 对象var person = new Object();person.uname = '猪八戒';person.age = '100';person.sex = '男';person.skill = function() { console.log("我会三
2021-02-21 18:03:44
109
原创 CSS巧用边框设置小三角
需求: 弹出下拉菜单显示一个小三角,如下图解决方案: 利用css边框实现我们先来看下这段代码.box { width: 0; height: 0; border-top: 30px solid pink; border-right: 30px solid red; border-bottom: 30px solid blue; border-left: 30px solid green;}效果图如下我们进一步优化,做出箭头朝上的,我们只需保留下边的边框
2021-01-29 12:00:50
875
原创 xcode12打包报错
xcode升级到最新版本12后,模拟器和手机都能运行,等到打包的时候居然报错了,说是Target版本最低兼容iOS12。王德发!!!,还不让我兼容低版本了。接下来一顿操作,终于解决.解决方案: App这边最低兼容iOS10,但是呢Podfile文件中的iOS版本写的是9.0。修改成一样,然后Clean再打包不报错了。大家加油!!!...
2020-12-08 14:08:58
524
原创 UICollectionViewCell图片不显示或者空白
自定义UICollectionViewCell添加了UIImageView,结果第一能加载出图片,再次进入就不出现图片变成白色了。一通检查之后找到了原因,记录一下。前提: 我使用的Masonry 布局,在自定义cell中设置了Cell的阴影和圆角,结果就显示不出来。解决方法: 添加圆角或者阴影前需调用layoutIfNeeded方法- (void)configUILayer { [self layoutIfNeeded]; self.layer.shadowColor = [UICol
2020-10-21 16:41:09
1377
原创 swift MD5加密
最近使用到了MD5加密,就写了这个扩展,看代码吧。详情请查看Demo// MARK: ------------------------ 字符串加密// 首先导入加密库import CommonCryptoextension String { /// MD5加密类型 enum MD5EncryptType { /// 32位小写 case lowercase32 /// 32位大写 case uppercase32
2020-07-15 16:31:30
1361
原创 苹果开发者账号续费不成功的解决方案
本篇文章主要是解决苹果开发者账号续费的时候出现 “支付授权失败” 的问题1.登录开发者网站登录之后如果出现 Learn More 那么我们需要在手机端下载 “开发者” App之后我们登录账号按步骤进行注册认证,注册认证完之后,我们再次登录开发者网站就会看到不一样了,接下来,我们就正常续费就行了。2.续费失败在我们续费的过程中,当信息填写完成,点击提交的时候,如果出现失败,并且提示 “支付授权失败”。解决方案:确保我们的信用卡,同时支持 银联和Visa 或者 银联和MasterCard确保信
2020-05-22 15:31:13
3956
1
原创 Alamofire 设置请求超时时长
如何设置请求时长。 我们可以通过查看官方使用文档找到答案。首先我们来看下官方使用文档关于请求时长的截图阅读文档我们发现,其实源码方法最后一个参数requestModifier这个闭包就可以设置我们URLRequest的一些参数例如:请求超时时长open func request(_ convertible: URLConvertible, meth...
2020-04-22 17:41:51
1948
原创 制作自己的无声音频
这段是时间做了一个项目,需要一个无声的音频。我兴奋的开始百度,结果可能是我打开方式不对,一个也没有搜索到。既然找不到,那就自己制作一个吧。这是我想到了Mac自带的音视频软件 QuickTime Player 。好了,跟随我录制自己的无声音频吧。第一步:新建文件打开QuickTime Player,屏幕右上角点击 文件 选项 - 选择新建音频录制第二步:打开权限注意 当出现 允许打开麦克风...
2020-04-08 14:29:02
4734
原创 swift中字符串String的扩展(一)
本片文章只对String字符串做了一些简单扩展,目的是简化截取字符传中的某个字符或者某段字符串。1.获取某个索引位置的字符以下两个方法是从前往后查询某个索引对应的字符 /// 获取字符串某个索引的字符(从前往后) /// - Parameter index: 索引值 是从0开始算的 /// - Returns: 处理后的字符串 func getCharAdvance(...
2020-04-06 15:13:53
588
CornerStone.zip
2020-08-29
苹果内购(iap)价格表-人民币.pdf
2020-01-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人