`

将NSMutableArray转成NSData

 
阅读更多
        tempArr = [NSMutableArray arrayWithCapacity:9];
                   
        for (int i = 0; i < 9; i++) {
            NSMutableArray *tmA = [NSMutableArray arrayWithCapacity:9];
            for (int j = 9-1; j >= 0; j--) {
                tiles *tile = [[tiles alloc] initCreateTileX:i TileY:j];
                [tmA addObject:tile];
            }
            [tempArr addObject:tmA];
        }
        [tempArr retain];

        NSData *teD = [NSKeyedArchiver archivedDataWithRootObject:tempArr];

        NSMutableArray *teA = [NSKeyedUnarchiver unarchiveObjectWithData:teD];
        int num = [teA count];




另外,转换时,要转换的数据必须是要实现NSCoding持久化

先在接口中实现协议<NSCoding>来支持encode和decode功能

然后再实现这两个方法

#pragma mark NSCoding 
#define kTitleKey       @"Title"
#define kRatingKey      @"Rating" 

- (void) encodeWithCoder:(NSCoder *)encoder {  
      [encoder encodeObject:_title forKey:kTitleKey]; 
      [encoder encodeFloat:_rating forKey:kRatingKey];
} 

- (id)initWithCoder:(NSCoder *)decoder {   

     NSString *title = [decoder decodeObjectForKey:kTitleKey];  
     float rating = [decoder decodeFloatForKey:kRatingKey];  
     return [self initWithTitle:title rating:rating];

}
分享到:
评论

相关推荐

    OC-Json转模型Array(Plist嵌套模型)

    例如,当接收到一个JSON字符串时,可以使用`dataWithJSONObject:`方法将其转换为NSData对象,然后用`JSONObjectWithData:options:error:`方法反序列化为Foundation对象,如NSArray或NSDictionary。 对于Plist,我们...

    swift-iOS(OC)JSON转Model的脚本

    本篇将详细介绍如何在Swift和Objective-C中进行JSON到Model的转换,并基于提供的"swift-iOS(OC)JSON转Model的脚本"进行深入探讨。 首先,我们来看Objective-C的实现。在OC中,可以使用内置的`NSJSONSerialization`...

    Objective-c解析XML封装

    -(NSMutableArray *)getList:(NSString *)elName xmlData:(NSData *)xmlData; @end --- XmlResolve.m #import "XmlResolve.h" @implementation XmlResolve @synthesize objName; @synthesize isList; ...

    JSONKit解析包

    3. **Objective-C集成**:JSONKit与Objective-C的集成非常紧密,它能够直接将JSON字符串转换为NSDictionary和NSArray,以及其对应的子类,如NSMutableDictionary和NSMutableArray。此外,它还支持转换自定义对象,...

    SCZ-BasicEncodingRules-iOS:实现基本编码规则以使用指数和 mod 将 RSA 密钥导入 iOS KeyChain

    然后以下代码将创建一个包含该 RSA 公钥的 NSData,然后您可以将其插入到 iOS 或 OS X 钥匙串中。 NSMutableArray *testArray = [[NSMutableArray alloc] init]; [testArray addObject:pubKeyModData]; ...

    ios-CityListUseMJExtention.zip

    NSMutableArray *cityList = [NSMutableArray array]; [cityList mj_setObjectClassInArray:^Class(_Nonnull id _Nonnull obj) { return [City class]; }]; [cityList mj_arrayWithKeyValuesArray:cityListData]; `...

    ToJsonTest Demo代码

    在iOS中,你可以将NSArray或NSMutableArray转换为JSON字符串。以下是一个Objective-C的例子: ```objc NSArray *array = @[@1, @"two", @{@"key": @"value"}]; NSError *error; NSData *jsonData = ...

    复杂XML的解析及组装

    -(NSMutableArray *)getList:(NSString *)elName xmlData:(NSData *)xmlData;//从DATA中获得对象集合,集合中也是XmlNode --ps-- 花了点时间重构了之前的xml与对象的转换代码,采用了新的逻辑算法。代码更加精简...

    ios_get_网络数据

    在实际应用中,你需要根据需求处理返回的`NSData`对象,可能将其转换为JSON或XML格式,或者直接解析成自定义模型。`readme.txt`文件将指导你如何在项目中引入和使用`HttpComm`类,包括导入头文件、实例化请求、设置...

    iOS中几种数据持久化方案 --X枫林1

    - 存储:可以将NSArray、NSMutableArray、NSDictionary、NSMutableDictionary、NSData、NSMutableData、NSString、NSMutableString、NSNumber、NSDate等可序列化类型的数据写入Plist文件,例如`[array writeToFile:...

    NSJSONSerialization

    NSMutableArray *tweets = [NSMutableArray array]; for (NSDictionary *tweetDict in jsonObject) { Tweet *tweet = [[Tweet alloc] initWithDictionary:tweetDict]; [tweets addObject:tweet]; } ``` 在这个...

    JSONKit工具包

    JSONKit还支持NSArray和NSMutableArray的转换,以及NSNull、NSNumber、NSString、NSDate、NSData等基本类型的JSON序列化和反序列化。 然而,需要注意的是,虽然JSONKit在性能上有优势,但它并没有像...

    Objective-c对象组装XML

    -(NSData *)listPackage:(NSMutableArray *)objects objectName:(NSString *)name xmlTemplateName:(NSString *)templateName { isList = YES; self.objectName = name; NSString *path = [[NSBundle mainBundle]...

    OC学生管理系统

    `NSData`可以将文件内容转换成二进制数据,`NSFileHandle`用于打开和读取文件,而`NSFileManager`则用于检查文件是否存在、获取文件路径等操作。如果在无界面环境下出现问题,可能是没有正确配置文件路径,或者在...

    Foundation框架

    以上是对Foundation框架中涉及的几个核心类的基本介绍,实际开发中,还会涉及到更多关于这些类的高级特性和方法,以及与其他Foundation框架中的类如NSDictionary、NSSet、NSData等的交互。理解并熟练掌握这些基础...

    iOS runtime 方式归解档,存储多对象

    `encodeWithCoder:`负责将对象的所有关键属性编码成字节流,而`initWithCoder:`则负责从字节流中恢复这些属性。 ```objc @interface CustomClass : NSObject // ...属性声明... - (void)encodeWithCoder:...

    iOS JSON数据映射

    在Objective-C或Swift中,这些结构对应为NSDictionary(或其子类如NSMutableDictionary)和NSArray(或其子类如NSMutableArray)。 在iOS中,有多种方式来解析JSON并映射到数据模型。一种常见的方法是使用苹果提供...

    Day11-NSFoudation框架.zip

    1. **基础数据类型**: NSFoundation框架提供了如NSNumber、NSString、NSData和NSDate等封装了基本数据类型的对象。这些对象允许开发者以面向对象的方式处理整型、浮点型、字符串、二进制数据和日期时间。 2. **集合...

    iosiOS面试宝典

    - `autorelease`将对象添加到内存池中,由池统一释放。 - **内存池**: - 用于管理对象的释放,提高效率。 通过以上知识点的学习,可以更深入地理解Objective-C的核心概念和技术细节,为面试准备打下坚实的基础。

    CreateModelFromJson

    这段代码首先将JSON字符串转换为`NSData`对象,然后使用`JSONObjectWithData`方法将JSON数据解析成`NSDictionary`。接着,我们初始化一个`Person`对象,并将JSON字典中的键值对分别赋值给`Person`对象的属性。 如果...

Global site tag (gtag.js) - Google Analytics