最近感觉知识匮乏,成长进步进度缓慢,早就听说YYKit屌到不行,遂来试着读一下,第一个先看YYModel首先看一下 YYClassInfo这个类,里面实现了对class基本信息的封装 (先大概了解,后面细说)YYClassIvarInfo,YYClassMethodInfo,YYClassPropertyInfo,YYClassInfo接下来说一下YYModel的使用(通过一个字典返回该类的实例化
前边3篇介绍了YYClassinfo 文件的组成单元,算是功能的分割,按照业务的设计思想来说,方向应该是相反的由此引申出我们在设计api的思想其实和项目管理是很类似的----- 一些题外话1.目的回到代码,首先应该明确写这个类的目的是什么? 按照正常逻辑,我们需要一个类来获取我们所需要的所有和此类相关的信息包括(类名,父类,成员变量,方法,属性...)2.技术调研调研我们所需要的结果是否能够通过技
本文拿一个简单的例子,看 YYModel 字典转模型的源代码有这么个模型@interface Author : NSObject
@property NSString *name;
@property NSString *birthday;
@end
@interface Book : NSObject
@property NSString *name;
@property NSUIn
YYModel大家肯定很熟悉,其非侵入性,易用性都使得它成为json-Model的新宠,接下来咱们分析下他的原理。必须要了解的知识先看YYClassInfo这个类,他是一个runtime中Class在OC层的封装,并且解析增加了很多描述,所以想了解YYModel原理必须对runtime有一定了解。在runtime层类型其实是一个结构体objc_class,objc_class中存储着指向超类的su
转载
2024-08-05 20:07:33
121阅读
# iOS 开发中的 YYModel `modelCustomPropertyMapper` 使用指南
在 iOS 开发中,处理 JSON 数据是一个非常常见的任务。为了简化模型与 JSON 数据之间的转换,很多开发者选择使用库,比如 YYModel。本文将指导你如何使用 YYModel 中的 `modelCustomPropertyMapper` 来实现数据模型的映射。
## 流程概述
我
(一)ESJsonFormat是自动生成json属性的插件,其默认源是MJExtension。如果想要和YYModel嵌套使用,需要修改下源代码。 默认MJExtension: (1)在git上下载:https://github.com/EnjoySR/ESJsonFormat-Xcode(2)打开代码源文件,在ESJsonFormatManager.m中搜索methodC
转载
2023-12-11 22:19:14
1037阅读
承接上文《YYModel源码分析(一)YYClassInfo》 之前文章讲述了YYClassInfo如何将runtime类结构封装到OC层。这篇文章主要讲述YYModel是如何用NSObject分类,实现非侵入式json-model的(类型转换,容错,model转json会在其他文章中讨论)。写在开头NSObject+ YYModel中并不只有NSObject分类,还包含了_YYModelProp
YYModel 是一个非常优秀的数据转模型,模型转字典与JSON串的库。而且代码量非常少。可见作者架构,抽象,对OC理解已经到了一个很高的高度。希望站在巨人的肩膀上有一天自己也能达到。YYModel 库结构类含义YYClassInfo类信息YYModel管理头文件,使用过程中引入这一个即可NSObject+YYModel顶级类添加转换接口,方便进行转换字典数据转换为对象,将如下字典数据映射到相应的
转载
2023-12-12 11:57:42
525阅读
特性高性能: 模型转换性能接近手写解析代码。自动类型转换: 对象类型可以自动转换,详情见下方表格。类型安全: 转换过程中,所有的数据类型都会被检测一遍,以保证类型安全,避免崩溃问题。无侵入性: 模型无需继承自其他基类。轻量: 该框架只有 5 个文件 (包括.h文件)。文档和单元测试: 文档覆盖率100%, 代码覆盖率99.6%。 使用方法 简单的 Model 与 JSON 相互转换// JSON
转载
2023-10-15 19:12:35
383阅读
# 科普文章:iOS YYModel
在iOS开发中,数据模型的转换是一个常见的需求。YYModel是一个轻量级的iOS数据模型转换库,可以帮助开发者快速方便地进行数据模型的转换。本文将介绍YYModel的基本用法,并通过代码示例帮助读者更好地理解。
## 什么是YYModel
YYModel是由腾讯开发的一款iOS数据模型转换库,它提供了一种简单易用的方式,帮助开发者将JSON数据转换为i
原创
2024-07-14 08:59:57
56阅读
动态规划算法的核心就是记住已经解决过的子问题的解。记住求解的方式有两种:①自顶向下的备忘录法②自底向上。动态规划的经典模型线性模型线性模型的是动态规划中最常用的模型,上文讲到的钢条切割问题就是经典的线性模型,这里的线性指的是状态的排布是呈线性的。【例题1】是一个经典的面试题,我们将它作为线性模型的敲门砖。【例题1】在一个夜黑风高的晚上,有n(n <= 50)个小朋友在桥的这边,现在他们需要过
转载
2024-07-05 18:41:25
23阅读
OC的run-time 机制,简直像是网络上的猫! 我在开发中很少用到,但是作为iOS开发 人家肯定会问这个东西,所以深入的学习了下。 对于 run-time的入手,YYModel的学习,简直让人美滋滋。 对于YYModel的 源码解析什么的,网上很多,我主要参考 马在路上 的总结,他都这个总结,是我看过对于新手最友好的总结。浅显易懂,逐条分析,流程分析
转载
2023-12-20 18:04:35
94阅读
目录JSON转字符串普通字典转模型模型属性有自定义的模型YYUSer属性有数组(数组里自定义模型),还有字典和集合字典里的key与模型里的属性名不一致 常用的几个方法:# json转模型
+ (instancetype)yy_modelWithJSON:(id)json;
# 模型转字符串
- (NSString *)yy_modelToJSONString
# 字典转模型
+ (insta
转载
2024-06-02 19:29:30
180阅读
11. iOS 类(class)和结构体(struct)有什么区别?Swift 中,类是引用类型,结构体是值类型。值类型在传递和赋值时将进行复制,而引用类型则只会使用引用对象的一个"指向"。所以他们两者之间的区别就是两个类型的区别。举个简单的例子,代码如下class Temperature { var value: Float = 37.0}class Person { var temp: T
转载
2023-12-24 11:28:50
177阅读
# iOS开发中YYModel的使用方案
## 介绍
在iOS开发的过程中,尤其是处理JSON数据的时候,模型的解析显得尤为重要。YYModel是一个高性能的Objective-C模型框架,它能够简化JSON与模型对象之间的转换,提高开发效率。本文将用YYModel解决一个具体问题,演示如何将JSON数据解析为Swift模型,并使用饼状图及状态图展示相应的使用情况和调用流程。
## 问题背景
概述 YYModel是封装的一个用来实现JSON格式数据和Model互转的强大库。相比较其他库来说,例如JSONModel、MJExtensions来说,性能更高一些,本文旨在分析YYModel的代码,通过实际案例来进一步说明。文件结构 相信使用过MJExtensions的iOS开发者来说,接触YYModel并不是很陌生,因为两者在某些思路上是相似的,例如都用了category的方式来实现,Pro
转载
2023-08-19 22:55:14
229阅读
iOS Json转换模型库:YYModel其实在研究这个库之前,市面上已经有很多类似的模型序列化成JSON及反序列化库(如Mantle、MJExtension)了,推荐他只是因为他高端的性能和容错(错误对象类型赋值到属性时YYMODEL会尝试自动转换,避免Crash)以及低侵入(不需要你的MODEL类去继承某个基类、因为他是Category 方式来实现的)。作者号称对比性能如下:接下来直接写一个小
转载
2024-04-25 15:59:10
56阅读
YYModel介绍YYModel是一个针对iOS/OSX平台的高性能的Model解析库,是属于YYKit的一个组件,创建是ibireme。其实在YYModel出现之前,已经有非常多的Model解析库,例如JSONModel、Mantle和MJExtension。YYModel从易用性和性能方面均达到了最高水平。性能
Model解析库对比
特性High performanc
转载
2024-04-13 10:09:13
144阅读
YYModel 是我写的一个 JSON 模型转换库,功能和 Mantle、JSONModel 差不多,但有着更好的性能和容错性。这里简单介绍一下 YYModel 的使用方法。 1. 简单的 JSON 与 Model 的转换 // JSON:
{
"uid":123456,
"name":"Harry",
"created":"1965-07-31T00:00:00+
转载
2023-10-16 23:16:07
401阅读
# iOS引入YYModel:快速解析JSON的利器
在iOS开发中,数据交互常常需要将JSON数据转换为模型对象。使用手动解析会增加代码量且容易出错,因此引入一个模型映射库显得尤为重要。YYModel就是这样一个高效的模型库,它能帮助开发者轻松实现JSON与模型之间的转换。
## 何为YYModel
YYModel是一个轻量级、高性能的模型映射库,旨在通过简单配置实现对象序列化和反序列化。
原创
2024-10-26 07:26:43
89阅读