首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
iOS
再来100个需求
创建于2021-09-23
订阅专栏
馒头的iOS杂货铺
等 1 人订阅
共17篇文章
创建于2021-09-23
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
CoreData Multiple commands produce 编译报错处理
报错原因:xcode自动生成了KUserInfo+CoreDataProperties 文件和本地手动生成的 KUserInfo+CoreDataProperties文件冲突了。那为什么Xocde会自动生成呢? 上图 entity的 Codegen默认就是 ClassDefio…
iOS 开发小技巧
在主工程中 build settings - preprocessor macros 设置自己预编译宏,可以在整个工程里使用。
xcode - 升级报错处理
/usr/local/opt/LLDB-master/lldb_commands/iap.py:166: SyntaxWarning: "is not" with a literal. Did you mean "!="?
iOS - framework制作|CocoaPods部署- (2)CocoaPods部署
1. 前言 2. CocoaPods部署 2.1. 在公有云上新建framework仓库,我这里用的是github. 2.2. git clone到本地 我这里选择和上面RFKitDemo工程同一个目录。将上面通过脚本生成的RFKit.framework 拷贝到RFkit这个本…
iOS - framework制作|CocoaPods部署- (1)framework制作
1. 前言 2. 主工程制作 2.1. 先在gitlab(你也可以在github)上建一个主工程,这个工程你包括使用framework的demo工程及framework本身。我这里是用demo为名字作为仓库的名字。 2.2. git到本地。 2.3. 新建workSpace、R…
match 管理证书&描述文件
match是fastlane提供的一种全新的管理证书的方式,它使团队所有成员共享一份代码签名,以减免不必要的证书创建,描述文件失效等问题。 1. 为什么使用match 在团队开发中证书(certs)与描述文件(profiles),有时候会被创建多次,新旧同时在用。并且描述文件由…
iOS 脚本打包 framework
演示地址https://blog.csdn.net/qiushisoftware/article/details/88421683OC版Swift版
MVVM
MVVM模式将Presenter改名为ViewModel,基本上与MVP模式完全一致。 唯一的区别是,它采用双向绑定(data-binding) : View<->ViewModel, ViewModel作为Model中值的映射,是数据发生改变时,通知View中发生改变,以后不…
iOS优秀第三方库总结
持续更新中... 1. json to dictionary 2. dictionary to model 又通过cls生成_YYModelMeta,_YYModelMeta内部封装了YYClassInfo。 ModelSetWithDictionaryFunction,赋值核…
iOS进阶-细数iOS中的锁
互斥锁:保证在任何时候,都只有一个线程访问对象。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒; 调用者在未获得锁的情况下,一直运行--自旋,所以占用着CPU,如果不能在很短的时间内获得锁,会使CPU效率降低。所以自旋锁就主要用在临界区持锁时间非常短且CPU资源不紧张的…
iOS进阶-KVO
相信读者对KVO的使用应该已经很熟练了,本文主要讲KVO的原理和一些注意点,对详细的使用不做过多的展示。 1. KVO原理 可以看到在运行了addObserver:(NSObject *)observer forKeyPath:...之后,当前Person类变成了NSKVONo…
iOS进阶-KVC
在日常发开中,我们可以通过断点调试、源码查看、LLDB调试来探索技术的原理,其实文档查看也是一种极其重要的手段。 其原理部分在官方文档上有英文版的解释,我这里就做一个搬运工;总得来说就是两个方法:valueForKey:和setValue:forKey:。 在存值时如果valu…
iOS进阶-架构-组件化
1. 组件化的由来 早期项目建立之初工程一般较为简单,但是随着项目的慢慢的扩展、功能逐渐的增多,界面VC等之间的通讯满天飞,还有最主要的就是,大的项目一般都不会是一个人做的,如何做到组员高效率的开发、减少沟通成本等一系列的问题。这时开发人员就会意识到组件化的重要性; 由于做组件…
iOS进阶-界面优化
本文讨论框架级的界面优化,其中不会过分讨论具体的实现小知识点或者其他,仅为界面优化提供方向与思路。在文章开始之前你需要具备对Runloop非常熟悉的能力 下面是一张图形生成过程图,来自WWDC2014。 空对象:UIView在响应代理时默认会返回⼀个NSNull对象,表示属性修…
iOS进阶-Runloop源码探究
这是一篇探究runloop内部原理实现的文章,不涉及具体使用。 可以看到,runloop在run起来后其实是用一个do-while循环实现的,不同的是,runloop可以做到不需要处理事务的时候就sleep,需要的时候就work。其作用总结就是: items就是事件源_sour…
iOS进阶-内存管理
堆区 :通过alloc分配对象、block copy... bbs区:未初始化的全局变量、静态变量... data区:已初始化的全局变量、静态变量... 答:有。全局变量存在全局区(bbs区/data区),局部变量存在栈区 apple在内存管理方面提供了三种方案(TaggetP…
iOS进阶-启动优化
在聊启动优化前,我们先得明确一个概念:启动分为冷启动(app第一次启动)和热启动,而优化的一般是冷启动。冷启动部分一般会以main函数作为结点分为两部分:main函数之前和main函数之后; 想要优化main函数之前耗时,那得知道main函数之前都干了什么。我们通过xcode工…