包体检优化记录及总结 瘦身记录 167.7 swift compiler optimization level release Speed -> size Strip debug symbols during copy release No -> yes Dead code stripping release No -> yes 164.3 去除 armv7(去掉v7 2020-09-02 性能优化
brew rvm ruby cocoapods那些事 brew全称Homebrew,macos 的软件包管理工具 ruby一种脚本语言,简单易用,功能强大 rvm全称 Ruby Version Manager,是一个mac 软件,用于ruby的版本管理,可以设置当前版本/安装/卸载 cocoapodsiOS 最常用的第三方库管理平台,是用ruby写的一个软件,要想使用它首先需要有 ruby 环境。有时候 ruby 版本过低导致Co 2020-01-17 CocoaPods
SourceTree操作备忘录 暂存:当你在A分支开发时,突然需要切换到B分支,这时你可以将变更暂存,等你在B分支处理完成后,再切换到A分支应用暂存 重置所有:如果你的未暂存文件中里面有非常多的文件需要丢弃变更,可以使用重置所有一次搞定 回退撤销:不小心提交(commit)了一个文件,还没有推送到远端,这时希望回退到提交前的状态 选中提交之前的节点,右键弹出菜单,选择”Reset xxx to this commit” 这时有 2019-02-03 Git > SourceTree
copy、mutableCopy copy:对于可变对象为深拷贝,引用计数不改变;对于不可变对象是浅拷贝, 引用计数每次加一。始终返回一个不可变对象。 mutableCopy:始终是深拷贝,引用计数不改变。始终返回一个可变对象。 copy mutableCopy 不可变对象 不可变对象(浅拷贝) 可变对象(深拷贝) 可变对象 不可变对象(深拷贝) 可变对象(深拷贝) 浅拷贝:指针拷贝深拷贝:内容拷贝 2019-01-11 Foundation
iOS 格式化日期时间 常用:yyyy-MM-dd HH:mm:ss 字符说明(:) 时间分隔符。在某些区域设置中,可以使用其他字符表示时间分隔符。时间分隔符在格式化时间值时分隔小时、分钟和秒。格式化输出中用作时间分隔符的实际字符由您的应用程序的当前区域性值确定。 (/) 日期分隔符。在某些区域设置中,可以使用其他字符表示日期分隔符。日期分隔符在格式化日期值时分隔日、月和年。格式化输出中用作日期分隔符的实际字符 2019-01-01 Foundation
快速创建UIBarButtonItem 123456789101112131415161718192021222324252627282930313233#import <UIKit/UIKit.h>@interface UIBarButtonItem (ZDExtension)/** font=16,白色 */+ (instancetype)itemWithTitle:(NSString *)title 2018-05-11 UIKit
防止navigation多次push一个页面 场景:快速多次点击cell跳转到另一个页面,另一个页面被push多次。 原因:push后的页面有耗时操作或者刚好push到另一个页面时,另一个页面正好在reloadData卡住主线程。造成点击cell时卡住了。 解决方法:在基类导航控制器中重写导航控制器的push方法。 1234567891011121314151617181920212223242526272829303132#import & 2018-03-21 UIKit
iOS-添加类前缀、修改类名 修改已有类的名称新建一个工程后,默认的AppDelegate.h,AppDelegate.m 和 ViewController.h,ViewController.m都是没有前缀的,如果你想给他们都加上前缀,可以点开AppDelegate.h,选中AppDelegate,右键-Refactor-Rename, 然后自己加上前缀(我加的是My),然后点击Preview, save一下就好了,可以 2018-01-18 Xcode
CocoaPods更新技巧 不更新podspec CocoaPods 在执行 pod install 和 pod update 时,会默认先更新一次 Podspec 索引。使用 –no-repo-update 参数可以禁止其做索引更新操作。如下所示: pod install –no-repo-updatepod update –no-repo-update 2018-01-15 CocoaPods