iOS面试必备
发表于|更新于
|浏览量:
备忘
- 内存管理
- 推送原理
- viewController的生命周期,app的生命周期
- 事件响应链与传递链
- 数据库语句、CoreData
- 多线程
- Runtime
- Runloop
- 动画
- git、SVN
- 自动布局的实现,Masonry
- ReactiveCocoa
文章作者: 今是昨非
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 今是昨非的博客!
相关推荐
2019-09-08
CocoaPods私有库生成
CocoaPods私有库生成
2016-05-10
开发中遇到的问题(二)
开发中遇到的问题,分享给大家,有则改之,无则加勉。1. UIScrollView加了category之后导致的手写输入时崩溃的问题—— [UIKBBlurredKeyView candidateList]上周更新的应用,这周上线了,然后昨天旁边的同事告诉我说,友盟上的崩溃信息,崩溃率1%点多了,赶紧查查吧。看了一下发现大部分的崩溃都是这个日志:[UIKBBlurredKeyView candidateList]: unrecognized selector sent to instance…,于是搜了一下 崩溃重现:切换到有输入的地方,点击输入,切换输入法到手写输入法(系统的,第三方的没事),然后输入,输入一个之后,第二个字就会崩溃。 原因:是因为给UIScrollView加了个category,是用于处理点击屏幕的事件的(触摸屏幕回收键盘),之前一直都是这么做的,也没问题,又或者又问题也没人反馈,😓,估计是投诉无门啊。。。。。而且我们测试的时候也没有测试手写输入法,因为没人会想到这还会有什么不同。苹果自己也没想到,所以我们就上线了,然后就有崩溃了。。。这坑爹的 解决:既然...
2022-04-12
Algorithem_BinarySearch
Algorithem_BinarySearchBinarySearchGiven an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its index. Otherwise, return -1. You must write an algorithm with O(log n) runtime complexity. Constraints:All the integers in nums are unique.nums is sorted in ascending order. 解法一开始我的想法是,从每次数组的中间 middleIndex 开始查找,比较数组中间的数字和 target 的大小,target 大则取 从middleIndex到数组结尾截取数组生成新的数组;target 小则取从0到 middle...
2023-11-22
Mac安装ArkTS失败
Mac安装ArkTS失败错误提示: 1234567Installing ArkTS dependencies...Running 'npm install'...npm ERR! code ETARGET 参考:ArkTS 安装失败求助,是node版本太高的原因,需要降级node。 查看node版本: 1node -v 通过brew安装的node,降级node时,先安装nvm 123brew install nvm 然后通过nvm安装低版本的node 1nvm install v14.21.3 安装完成后,再次查看node版本,如果node版本还不对,再运行下面命令 1nvm use v14.21.3 node降级之后,需要清理npm 缓存, 1npm cache clean -f 然后重启DevEco-Studio,再次尝试安装,即可安装成功。 补充如果其他地方使用有高版本的node,可以安装两个版本的 node,然后使用 nvm 命令切换,或者 node 的安装不安装到全局也可。 参考 ArkTS 安装失败求助 HarmonyOS Devel...
2021-09-10
gitignore 添加 Pod 三方库
背景最近项目遇到了一个问题,排查了好久,最后发现是Pod 依赖的私有组件的代码有问题,导致了打包的时候线上包出现了问题。 笔者的项目按照功能抽象出了私有组件,使用 Pod 的方式导入项目,但是 Pod的内容是不提交到 git 的,即每次 Pod 修改,在 主项目的git变更中看不到。于是就遇到了这个问题。 先在主项目中调试的时候,修改了 Pod库的内容。然后把修改内容同步到了 Pod 库单独的项目。但是最后打包的时候 Pod 库的内容却是老的。因为项目里依赖的 Pod 库指定了版本,而更新 Pod库单独的项目时,只同步到了分支上,没有更新新的 Tag。于是再次更新主项目的库时,这个库的内容就又变回了老的。 Ps:理论上来说,放入 Pod 库的内容不应该被频繁修改,是抽出的基础库之类的。但是实际开发中,为了组件化,有些功能组件也会作为私有库使用 Pod 依赖,这些库可能是频繁变更的。 基于这点,笔者感觉还是把 Pod 中的内容,放入主项目的 .git 中比较好,方便看出修改,能够避免出现上面的问题。 修改笔者直接进入项目工程所在目录,编辑.gitignore文件,移出文件中 #...
2025-08-11
Xcode 26崩溃修改
背景电脑升级MacOS 26.0,之后旧版Xcode不支持了,下载Xcode26 Beta5,运行项目后崩溃,提示:dyld[xxx]: Symbol not found: _NSUserActivityTypeBrowsingWeb 排查过程 在StackOverFlow上有看到说移除 CoreServices 后可以解决,但是排查后发现项目主工程并没有引用这个库 又有说把宏重定义NSUserActivityTypeBrowsingWeb改为字符串"NSUserActivityTypeBrowsingWeb"可以解决,但是搜索后,项目工程中没有使用这个字符串 怀疑是项目Pods中三方库使用了这个宏,通过grep搜索后发现太多了,促使三方库开发者更新不限时。 最后发现,有说把Foundation.framework在链接参数中位置提到CoreServices的前面可以解决,经过尝试确认方法有效。 解决办法解决办法就是:把 Foundation 的在链接参数中的位置往前面提到 CoreServices 之前 方法 1:通过 Build Phases 调整框...
公告
This is my Blog