摘要:
在学iOS开发不久就接触到Podfile、 Cocoapod,后面了解到这两个工具都是基于ruby实现的。通过源码的阅读对他们大致总结为:通过 Ruby 来调用终端命令。下面介绍学习ruby需要用到的相关知识 bundler bundler 是用于管理 ruby gem 的工具,使用方法和cocoa 阅读全文
摘要:
https://blog.csdn.net/horisea/article/details/75276350 阅读全文
摘要:
https://my.oschina.net/u/1464083/blog/3023852?from=groupmessage&isappinstalled=0 阅读全文
摘要:
对于项目的开发,模块化很重要,讲到模块化,就需要用到库,在Dart中,库的使用是通过import关键字引入的 其中import后面跟着的是库的URI,上面例子中的路径格式为:package:scheme,其中scheme是由指定的库通过包管理器提供的,在Flutter中,Dart是通过pub工具来管 阅读全文
摘要:
1 类的头文件中尽量少引入其它头文件,使用“向前声明” @class,这样可以降低类之间的耦合 2 多用字面量语法,缩减代码长度,易读 3 在读取实例变量的时候采用直接访问的形式,而在设置实例变量的时候通过属性来做(对象内部) 原因如下: - 直接访问实例变量速度快的原因是不经过Objective- 阅读全文
摘要:
1 重载 resolveInstanceMethod: 和 resolveClassMethod: 方法动态添加实例方法实现和类方法实现 2 消息转发机制执行前,Runtime 系统允许我们替换消息的接收者为其他对象。通过 - (id)forwardingTargetForSelector:(SEL 阅读全文
摘要:
1 未提交读:事务T在读取数据的时候并未对数据进行加锁,事务T在修改数据的时候对数据增加行级共享锁,这种隔离级别会导致脏读 2 已提交读:事务T在读取数据时增加行级共享锁,读取一旦结束,立即释放;事务T在修改数据时增加行级排它锁,直到事务结束才释放,这种隔离级别解决了脏读 3 可重复读:事务T在数据 阅读全文
摘要:
开发中经常会遇到如下两种业务场景: 1 某一个界面需要同时发多个请求,全部请求都成功后再一起刷新界面 2 多个请求必须按照一定顺序执行 3 控制线程开启的数量 这时信号量的作用就显得很牛逼了 信号量常用的三个方法如下所示: dispatch_semaphore_create:创建一个信号量(sema 阅读全文
摘要:
满足一下功能点: (1)异步上传 (2)所有的请求都完成之后再通知回调 (3)请求返回的结果必须按照请求发出的数据顺序一致 - (NSURLSessionUploadTask*)uploadTaskWithImage:(UIImage*)image completion:(void (^)(NSUR 阅读全文
摘要:
1 对于非集合类对象的copy和mutableCopy (以NSString和NSMutableString为例子) (1) NSString: NSString *string = @"xiaotaiyang";NSString *stringCopy = [string copy];NSMuta 阅读全文