MantleArrayExtension 2.0.3

MantleArrayExtension 2.0.3

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布2022年4月

soranoba维护。



  • soranoba

MantleArrayExtension

Build Status Carthage compatible Version License Platform

MantleArrayExtension使用Mantle支持模型对象与用分隔符定义的字符串之间的互转。

概览

Mantle只支持Json和Dictionary。

这是一个将数组和模型与Mantle之间进行转换的库。

  • 支持以下功能
    • 使用指定的字符分割字符串并转换为模型
    • 在数组和模型之间进行转换
    • 可定制的转换器

什么是Mantle?

Mantle为Cocoa和Cocoa Touch提供的模型框架

安装

MantleArrayExtension可以使用CocoaPods获取。CocoaPods安装方法:只需在Podfile中添加以下行

pod 'MantleArrayExtension'

如何使用MantleArrayExtension的函数

模型与字符串(或数组)之间的转换

// String to Model
id<MAESerializing> model = [MAEArrayAdapter modelOfClass:model.class
                                              fromString:@"2017-01-29, 'Alice Brown', 1, 2, 3"
                                                   error:&error];

// Model to String
NSString* string = [MAEArrayAdapter stringFromModel:model
                                              error:&error];

模型定义

模型必须继承MTLModel并符合MAEArraySerializing。

#pragma mark - MAEArraySerializing

+ (NSArray* _Nonnull)formatByPropertyKey
{
    return @[ @"date", MAESingleQuoted(@"name"), MAEVariadic(@"scores") ];
}

+ (unichar)separator
{
    return ',';
}

+ (BOOL)ignoreEdgeBlank
{
    return YES;
}

格式类型

  • @"propetyName"
    • 双引号字符串,单引号字符串或枚举字符串
  • MAEQuoted(@"propertyName")
    • 双引号字符串
  • MAESingleQuoted(@"propertyName")
    • 单引号字符串
  • MAEOptional(@"propertyName")
    • 可选
  • MAEVariadic(@"propertyName")
    • 从当前位置开始作为一个数组分组。
  • MAERaw(@"rawString"), MAERawEither(@[@"value1", @"value2"])
    • 字符串期望指定字符串之一
  • MAERawEither(@[@"value1", @"value2"]).withProperty(@"propertyName")
    • MAERawMAERawEither与属性关联。

转换器

你可以为MAEArraySerializing对象使用序列化器。

  • MAEArrayAdapter # stringTransformerWithArrayModelClass
  • MAEArrayAdapter # variadicTransformerWithArrayModelClass

对于MAEArraySerializing属性,默认会使用它,因此不需要指定。

其他信息

请参阅文档单元测试Mantle

贡献

欢迎Pull request =D

许可证

MIT许可证