mjextension

KVC

北慕城南 提交于 2020-10-28 15:02:58
1、概念: KVC(Key-value coding):键值对编码,也就是我们可以通过变量的名称来读取或者修改它的值,而不需要调用明确的存取方法。这样就可以在运行时动态地访问和修改对象的属性。而不是在编译时确定。对于类里的私有属性,Objective-C是无法直接访问的,但是 KVC是可以的 。 作用: 取值和赋值(开发中基本不用) 获取对象私有变量的值.(经常使用,例如UIPageContorl分页, 设置圆点为图片) 改变对象私有变量的值(经常使用) 简单的字典转模型(偶尔使用) 模型转字典 批量取值 kvc的常用方法有: // 通过Key来设值 - ( void )setValue:(nullable id )value forKey:(NSString * )key; // 通过KeyPath来设值 - ( void )setValue:(nullable id )value forKeyPath:(NSString * )keyPath; // 直接通过Key来取值 - (nullable id )valueForKey:(NSString * )key; // 通过KeyPath来取值 - (nullable id )valueForKeyPath:(NSString * )keyPath; // 默认返回YES,表示是否允许直接访问变量 也就是如果没有找到Set

使用cocoapods

旧街凉风 提交于 2020-01-28 06:17:00
使用 cocoapods 0. 如果发现装 cocoapods 时 出错就更新 gem 到最新版本,在终端中输入: $ sudo gem update --system , 注意不要把 “$” 复制上。等待一会儿会看到 我已经敲过 所以是 1. 移除原有的源 gem sources --remove https://rubygems.org/ 2. 添加淘宝的镜像 gem sources -a https://gems.ruby-china.org/ ( 原来的淘宝镜像 https://ruby.taobao.org/ 已经不能用了 ) 。 3. 检查源 可以用 gem sources -l 来检查使用替换镜像位置成功,结果应该只有 https://gems.ruby-china.org/ 才对 5. 安装 CocoaPods ,终端输入: sudo gem install cocoapods 等待一会儿会看到: 出现问题查阅解决方法 https 导致 stackflow 中也有案例链接 http://stackoverflow.com/questions/30812777/cannot-install-cocoa-pods-after-uninstalling-results-in-error/30851030#30851030 解决方法是 sudo gem install -n

IOS 字典模型互转框架 MJExtension

点点圈 提交于 2019-12-10 16:58:59
详细轻参考: https://github.com/CoderMJLee/MJExtension 功能很牛掰 能做什么? MJExtension是一套 字典和模型之间互相转换 的超轻量级框架 MJExtension能完成的功能 字典(JSON) --> 模型(Model) 模型(Model) --> 字典(JSON) 字典数组(JSON Array) --> 模型数组(Model Array) 模型数组(Model Array) --> 字典数组(JSON Array) 详尽用法主要参考 main.m中的各个函数 以及 NSObject+MJKeyValue.h MJExtension和JSONModel、Mantle等框架的区别 转换速率: 最近一次测试表明: MJExtension > JSONModel > Mantle 各位开发者也可以自行测试 具体用法: JSONModel :要求所有模型类 必须 继承自JSONModel基类 Mantle :要求所有模型类 必须 继承自MTModel基类 MJExtension : 不需要 你的模型类继承任何特殊基类,毫无污染,毫无侵入性 如何使用MJExtension cocoapods导入: pod 'MJExtension' 手动导入: 将 MJExtensionExample/MJExtensionExample