
iOS
文章平均质量分 55
记录一下iOS开发过程中学的一些知识,踩的一些坑
里皮同学
这个作者很懒,什么都没留下…
展开
-
swift中判空到底用.count 还是 .isEmpty
swift 中.count 方法时间复杂度到底是多少swift中有时能看到用 xxx.count == 0 这种方式,判断一个字符串/字典/数组是否为空,也能用 xxx.isEmpty 属性是否为空,网上有人认为要用isEmpty而不是count来判断,因为后者需要遍历;有博客 https://www.jianshu.com/p/77f8d6563596 认为 ”字符串是字符的集合,也遵循了RandomAccessCollection 协议“,则两者时间复杂度都为1,都可以用。从苹果官方文档来看,原创 2022-02-11 14:55:23 · 3305 阅读 · 0 评论 -
iOS 网络GIF加载第三方库对比
iOS 网络GIF加载第三方库对比SDWebImage库自带的gif图加载方法UIImageView *sdimageView = [[UIImageView alloc]init]; [sdimageView sd_internalSetImageWithURL:[NSURL URLWithString:@"https://i.pinimg.com/originals/07/44/38/074438e7c75034df2dcf37ba1057803e.gif"] placeholderImag原创 2022-02-10 11:40:43 · 1892 阅读 · 0 评论 -
Cocoa Touch基础
Cocoa Touch主要特点:基于objective-c语言、动态运行时Core Animation:基于组合独立图层Core Audio:播放、处理和录制音频Core Data:面向对象的数据管理解决方案Cocoa Touch主要框架音频和视频:Core Audio、Open AL、Media Library、AV Foundation数据管理:Core Data、SQLite图形和动画:Core Animation、OpenGL ES、Quartz 2D网络:Bonjour原创 2020-09-10 15:37:12 · 533 阅读 · 0 评论 -
iOS原生 Native和Javascript交互
Native中运行JavaScript代码通过JSContext对象(类似于JavaScript运行环境),执行js代码(从js文件中获取的NSString)//获取js文件路径NSString *path = [[NSBundle mainBundle] pathForResource:"main" ofType:@"js"];//读取js数据NSData *jsData =[[NSData alloc]initWithContentsOfFile:path];//从data解码成strin原创 2020-09-10 14:55:12 · 523 阅读 · 0 评论 -
mac os 10.13下安装配置cocoapods并在xcode中使用
关闭SIP保护10.3.4版本下macOS开启了SIP保护,即便是root用户也不能修改系统目录中的文件,所以要安装cocoapods,需要先关闭这个服务方法如下 1. 重启电脑按住command+R进入recovery模式 2. 进入实用工具-终端 3. 输入命令 csrutil disable 4. 输入命令 reboot 重启安装ruby更换源打开te...原创 2018-07-26 16:43:17 · 2018 阅读 · 0 评论 -
UITableView多选/单选
UITableView核心的思路就是维护一个数组,记录所有选中的cell的indexpath,使用时,根据这个数组来取出datasource中对应的数据项。核心要点1. tabview的cell的点击事件- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)ind...原创 2018-09-13 13:48:01 · 1092 阅读 · 0 评论 -
UIApplicationDelegate和UIViewController消息调用时间
UIViewController生命周期各函数调用时间 init 只有相关数据的初始化loadview 只初始化viewviewDidLoad 创建一些附加的view和控件,可能会被调用多次viewDidAppear 用于显示后,在切换动画后需要进行的操作viewWillAppear 在view被添加到superview之前,在切换动画之前调用,例如键盘弹出,特殊的过程动画(状态条...原创 2018-07-26 16:44:10 · 291 阅读 · 0 评论 -
MJRefresh - UITableView的刷新/加载更多
对于UITabView控件的使用场景来说,常见的应用是初始化时拿到部分数据并展示,上划到底时加载下一页数据,下拉刷新全部数据(重新显示开头的第一页),本次记录了MJRefresh的基本使用方式。1. 使用Pod导入MJRefreshpod 'MJRefresh'2. 项目中给UITabview加上头/尾 self.myRolesTableView.mj_footer=[M...原创 2018-09-13 15:37:52 · 449 阅读 · 0 评论