自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fishycx的专栏

ios学习

  • 博客(108)
  • 收藏
  • 关注

原创 iOS 开发者账号添加新的测试设备的正确姿势

开发中遇到添加新的设备,重新打包后, 仍然无法安装测试包。解决:删除本地的描述文件, 重新下载,重新打包cd ~/Library/MobileDevice/Provisioning\ Profilesrm *.mobileprovision...

2019-10-09 10:06:48 2014

原创 iOS 构建配置与 AdHoc 打包说明

iOS项目构建配置与AdHoc打包管理说明。文章介绍了iOS项目中常见的四种构建配置:Debug用于开发调试、AdHoc用于内测分发、AdHoc_Release用于预发布、Release用于正式上架。重点说明了如何在Xcode中通过不同配置使用带"开发"角标的App Icon来区分内测与正式包,包括创建两个AppIcon集合、配置Build Settings以及通过xcodebuild命令行指定构建配置。该方案帮助测试人员快速识别不同版本,确保内测与正式环境隔离。

2025-07-17 19:48:49 837

原创 修复升级iOS18后, 证书信任设置证书列表为空

升级iOS18后的bug

2024-10-31 19:30:59 1912 1

原创 mac 电脑删除系统数据,嘎嘎好用

https://zhuanlan.zhihu.com/p/468445686

2023-11-16 23:14:38 163

原创 iOS项目集成RN(0)

你需要提前安装好,Homebrew,Xcode, Cocoapods。执行 pod install。

2023-11-16 14:44:07 927

原创 Rxswift(1)

上面的同步机制就是 数据绑定。

2023-11-16 14:12:46 278

原创 ARTS打卡简介

介绍什么是ARTS活动

2023-11-05 14:57:47 108

原创 Dart 语法总结

条件判断必须是布尔值, 不是和python,js 一样的非0既真。数值类型,布尔值, 字符串。

2023-11-04 21:13:16 434

原创 python 日期比较的坑

【代码】python 日期比较的坑。

2023-07-24 10:48:26 111

原创 linux 查杀进程

查杀进程

2023-02-24 13:52:52 410

原创 pyinstaller --version-file ver.txt

pyinstaller.exe --version-file=file_version_info.txt -F main.py

2023-02-10 16:17:07 637

原创 shell 脚本数值运算

shell 脚本数值运算

2022-11-10 10:59:23 372

原创 Kotlin Example

Package definition and importspackage my.demoimport kotlin.text.*//...Print to the standard outputprintln("Hello world!")println(42Functionsfun sum(a: Int, b: Int): Int { return a + b}fun sum(a: Int, b: Int) = a + bfun printSum(a: Int,

2022-02-08 17:49:43 1782

原创 OC 预编译指令

宏定义 条件编译 文件包含宏定义:定义格式: #define 标识符 字符串1、 不含参数: #define TAG_VIEW 100862、 含有参数:#define MAX_INT(a,b) a+b3、 宏定义不是C语句,不必在行末加分号。如果加了分号则会连分号一起进行置换。4、 #define 命令出现在程序中函数的外面,宏名的有效范围为定义命令之后到本文件结束。通常,#define 命令写在文件开头,函数之前,作为文件一部分,在此文件范围内有效。5、 可以用#undef 命令终止宏定义

2021-09-27 14:45:13 601

原创 观察者模式原理

当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。何时使用:一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。如何解决:使用面向对象技术,可以将这种依赖关

2021-09-23 15:51:48 640

原创 Swift 高阶函数

map可以对数组中的每个元素做一次处理,就是遍历的作用,map接受一个闭包作为参数,然后遍历数组,对数组的每一个元素来一次闭包的操作。相当于数组中所有元素做一次映射。map可以对一个集合类型的所有元素做映射, 不会修改实例值,而是做一个拷贝。flatMap:flatMap 依然会遍历数组的元素,并对这些元素执行闭包中定义的操作与Map不同的是,它对最终的结果进行了所谓的“降维”操作。 本来原始数组是一个二维的, 但经过 flatMap 之后,它变成一维的了flatMap返回后的数组中不存在nil

2021-09-17 21:29:26 244

原创 Swift 初始化器

required,如果希望子类必须要实现某个方法,使用该字段可失败初始器: init?使用 init!定义隐式解包可失败初始化器类、结构体、枚举都可以定义初始化器类:指定初始化器(designated initializer), 便捷初始化器(convenience initializer)初始化器调用规则:指定初始化器必须从它的直系父类调用指定初始化器便捷初始化器必须从相同的类中调用另一个初始化器便捷初始化器最终必须调用一个指定初始化器两段式初始化1.初始化所有存储属性

2021-09-17 15:53:00 215

原创 point

AnyClass, Any, AnyClassAny:可以代表任意类型(枚举、结构体、类,也包括函数类型)AnyObject:可以代表任意类类型。class Student { func test(){ }}struct size { var width:Float var height:Float}var a:Any = 1.2a = 10a = "eeee"a = [10,20]a = UIView()a = Student()a = Stu

2021-09-17 14:26:33 128

原创 算法课学习笔记

算法时间复杂度大O标识法, O(N)aN^2 + bN + 1评价算法1.先看指标2.指标一样 看常数项二分搜索:1 2 4 5 7 8 9O(M*logN)外排1 2 4 6 76 3 9

2021-09-14 15:30:39 243

原创 算法(二)

堆排序满二叉树: 一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。 也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树。就是说最后一层叶结点都没有子节点了,且最后一层的叶结点都存在。完全二叉树: 一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。堆是完全二叉树大根堆: 完全二叉树,任何一个子树的最大值就是

2021-09-14 15:30:16 97

原创 汇编常用指令

mov dest, src 将src的内容赋值给 dest, 类似于 dest = src[地址值] 中括号里面放的都是内存地址word是 2字节, dword是 4字节, qword 是8字节call 函数地址 调用函数lea dest, [地址值] 将地址值给dest,ret 函数返回xor op1, op2将op1和op2 异或的结果赋值给op1, 类似于op1 = op^op2...

2021-08-27 14:58:41 176

原创 C++基础知识

C++基础引用 Referenceconst引用 Reference在 c语言中, 使用指针 可以间接获取,修改某个变量的值在C++中, 使用引用(Reference)可以起到跟指针类似的功能int age = 20;int *p = &age;cout << age << endl; //直接使用cout << *p << end1; //间接获取 age值*p ,获取指针变量p的值即 age的地址, 然后访问这个地址

2021-08-27 13:49:06 136

原创 block相关

关于block我想到的问题1.如何声明 As a local variable: returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...}; As a property: @property (nonatomic, copy, nullability) returnType (^blockName)(parameterTypes); As a method parameter: - (void)som

2021-08-03 15:38:07 119

原创 runtime的内存模型(isa、对象、类、metaclass、结构体的存储信息等)

介绍下runtime的内存模型(isa、对象、类、metaclass、结构体的存储信息等)/// An opaque type that represents an Objective-C class.typedef struct objc_class *Class;/// Represents an instance of a class.struct objc_object { Class _Nonnull isa OBJC_ISA_AVAILABILITY;};stru.

2021-07-30 08:50:17 643

原创 category 复习

一、Category 的使用场合主要作用是为已经存在的类添加方法。一个类中的代码非常多,如果超过1000多行,那么在翻阅的时候也会觉得很困难,但是继承下来,再使用的时候,只能集成子类,而且方法比较多,想要直接分散开来,不是特别容易,所以可以采取分类的方式,把想通类型的代码加载在一起。好处:可以把类的实现分开在几个不同的文件里面。这样做有几个显而易见的好处, a)可以减少单个文件的体积 b)可以把不同的功能组织到不同的category里 c)可以由多个开发者共同完成一个类 d)可以

2021-07-28 15:43:26 170

原创 关联对象的原理

关联对象API添加关联对象void objc_setAssociatedObject(id object, const void * key, id value, objc_AssociationPolicy policy)获得关联对象id objc_getAssociatedObject(id object, const void * key)移除所有的关联对象void objc_removeAssociatedObjects

2021-07-23 15:22:12 195

原创 KVO, kVC复习

kvo 健值监听使用1.添加监听2.移除监听kvo的本质,添加监听后,创建了了个 NSKVONotifying_xx 对象, 继承自xx, xx实例对象的isa指针指向 NSKVONotifying_xx.这个对象的实现大致如下:- (void)setNum:(Int)num { _NSSetIntValueAndNotify();}void _NSSetIntValueAndNotify(){ [self willChangeValueForkey:@"num"];

2021-07-19 17:06:35 176

原创 OSSpinLock不在安全

OSSpinLock,自旋锁。不再安全原因:低优先级的线程先获取到锁,而后高优先级线程也来获取这个锁,高优先级意味着其可以在CPU调度中有更大几率分配到时间片,但拿到时间片后获取不到自选锁,时间都浪费到了循环等待上。而这时低优先级的现场可以正常执行任务,但其分配到时间片的几率又很小,从而加剧CPU资源的浪费,也有可能出现自旋锁无法释放的问题;这种低优先级会比高优先级先执行,或者说更快执行的现象,个人认为这种情况就是优先级反转。参考...

2021-07-09 15:34:09 196

原创 centerSlice was used with a BoxFit that does not guarantee that the image is fully visible.

centerSlice/// The center slice for a nine-patch image. /// /// The regionof the image inside the center slice will be stretched both ///horizontally and vertically to fit the image into its destination. The/// region of the image above and belo

2021-06-26 10:36:55 1267

原创 objc-msgSend(三) 消息转发

消息转发阶段相关方法- (id)forwardingTargetForSelector:(SEL)aSelector{}//方法签名: 返回值类型, 参数类型- NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector{}- (void)forwardInvocation:(NSInvocation *)anInvocation {}NSInvocation 是封装了一个方法调用,包括: 方法调用者,方法名, 参数流程一

2021-06-23 16:11:46 109

原创 iOS 修改App 显示名称 需要注意的事项

如果App中 使用 NSKeyedArchiver 保存数据的话, 修改App名称时候要注意,可能出现crash。如果修改了project,会crash, 正确的做法是,在infoPlist.string 文件中 设置 CFDisplayName

2021-06-10 16:17:56 268

原创 散列表原理

一、什么是散列表散列表,又叫哈希表(Hash Table),是能够通过给定的关键字的值直接访问到具体对应的值的一个数据结构。也就是说,把关键字映射到一个表中的位置来直接访问记录,以加快访问速度。通常,我们把这个关键字称为 Key,把对应的记录称为 Value,所以也可以说是通过 Key 访问一个映射表来得到 Value 的地址。而这个映射表,也叫作散列函数或者哈希函数,存放记录的数组叫作散列表。目前,这个哈希函数比较常用的实现方法比较多,通常需要考虑几个因素:关键字的长度、哈希表的大小、关键字的分布情

2021-05-28 14:33:13 975

原创 2021-05-18

Flutter常用基础widget组件1.Text2.Row,Column flexbox布局3.stack 绝对定位4. Container Container 可让您创建矩形视觉元素。container 可以装饰为一个BoxDecoration, 如 background、一个边框、或者一个阴影。 Container 也可以具有边距(margins)、填充(padding)和应用于其大小的约束(constraints)。另外, Container可以使用矩阵在三维空间中对其进行变换。使用M

2021-05-18 13:18:07 93

原创 制作pod代码库(注意事项)

创建仓库创建podspec文件1.初始化库时候,记得选择 add a license, 选择 MIT 吧2.将项目clone 本地git clone https://github.com/fishycx/BBNestTableView.git3.创建podspec文件,命名为 BBNestTableView$ pod spec create BBNestTableView4.导入代码到Classes文件夹下5. 编辑 .podspec文件Pod::Spec.new do |spec|

2020-08-26 17:08:03 202

原创 xcode 报错问题记录

更新pod库之后报错 Redefinition of module , 看网上的解决方案都不合适,仔细看报错原因, 把重复内容删掉。即可

2020-04-01 14:08:26 375

原创 移除vscode装饰器报错

使用vscode 创建一个 react+reducer项目时候,遇到以下警告Experimental support for decorators is a feature that is subject tochange in a future release. Set the ‘experimentalDecorators’ option toremove this warning....

2019-12-20 11:13:40 465

原创 Kingfisher加载不出带逗号的图片url

问题说明有的网络图片链接中有逗号, 使用kingfisher 加载不出来。http://img3.imgtn.bdimg.com/it/u=3731532511,3143059206&fm=26&gp=0.jpg参考相关问题1参考相关问题2解决方案:let modifier = AnyModifier { request in var r = request...

2019-12-17 22:11:05 1170

原创 Taro(一)

开发期间常用命令npm run dev:h5 WEBnpm run dev: weapp 微信小程序npm run dev: alipay 支付宝小程序npm run dev:swan 百度小程序npm run dev: rn React

2019-12-12 11:53:49 310

原创 初识Taro

简介Taro 是一套遵循 React 语法规范的多端开发解决方案使用 Taro 只书写一套代码,再通过Taro 的编译工具,讲源码分别编译出可以在不同端运行的代码。 微信小程序,H5 RN安装cnpm intall -g @tarojs/cli初始化taro init MyProject启动项目npm run dev: h5...

2019-12-11 16:45:03 221

原创 禁用darkMode

https://www.jianshu.com/p/156bb5872ffc

2019-11-24 11:06:04 747

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除