iOS:跟踪 NSSet 对象的序列

Posted

技术标签:

【中文标题】iOS:跟踪 NSSet 对象的序列【英文标题】:iOS: Keep track of the sequence of NSSet objects 【发布时间】:2014-04-02 02:53:53 【问题描述】:

我想要一个变量 NSSet 照片,它将照片随机存储在我的 Xcode xcdatamodel 中。我知道 NSSet 用于存储随机对象,但有没有办法将 NSSet 更改为 NSArray 或跟踪 NSSet 变量中的序列插入?

文章.h

@property (nonatomic, retain) NSSet *photos;

文章.m

RKManagedObjectMapping *_mapping = (RKManagedObjectMapping*)[RKManagedObjectMapping generatedManagedObjectMappingFromClass:[self class] keyUnderscored:NO excludesProperties:[NSArray arrayWithObjects:@"attachments", @"videos", @"photos", nil]];
[_mapping mapKeyPath:@"photos.photo" toRelationship:@"photos" withMapping:(RKManagedObjectMapping*)[BTAttachment rkObjectMapping]];
[_mapping mapKeyPath:@"attachments.attachment" toRelationship:@"attachments" withMapping:(RKManagedObjectMapping*)[BTAttachment rkObjectMapping]];

[更新]

我意识到即使我使用了

[_model.photos allObjects] objectAtIndex:0]

每次刷新时,0 索引仍在变化。

【问题讨论】:

【参考方案1】:

NSOrderedSet 维持秩序。

你也可以使用setWithArray:和allObjects在NSSet和NSArray之间来回转换

【讨论】:

每次刷新时 0 索引仍在变化。 即使使用 NSOrderedSet? 谢谢!发现我需要将关系的属性从NSSet更改为NSOrderedSet。

以上是关于iOS:跟踪 NSSet 对象的序列的主要内容,如果未能解决你的问题,请参考以下文章

Protobuf-net“反序列化期间引用跟踪对象更改引用”错误(2)

在 Boost (C++) 中没有类跟踪的派生类序列化

如何在 asp.net owin api 项目中启用 JSON.NET 序列化/反序列化跟踪?

IO——对象序列化与反序列化

对象的序列化与反序列化---IO学习笔记

Java IO流 - 对象序列化和对象反序列化