HMCThreadSafeMutableCollection 0.1.0

HMCThreadSafeMutableCollection 0.1.0

测试测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2017年10月

Chuong Huynh维护。



  • Chuong M. Huynh



NSMutableArray, NSMutableDictionary 是线程不安全的(在从多个线程访问 NSMutableArray, NSMutableDictionary 时会出现竞争条件)。本项目是一个线程安全包装器,它提供创建、添加、删除和访问对象的基方法,以无竞争条件方式在数组中进行。

用法

HMCThreadSafeMutableArray

1. 创建一个空实例

HMCThreadSafeMutableArray *array = [[HMCThreadSafeMutableArray alloc] init];

2. 从 NSArray 中创建

NSArray *array = @[@1,@2,@3];
HMCThreadSafeMutableArray *tsarray = [[HMCThreadSafeMutableArray alloc] initWithArray:array];

3. 向数组的末尾添加一个对象

- (void)addObject:(NSObject *)object;

4. 从 NSArray 中添加多个对象

- (void)addObjectsFromArray:(NSArray *)array;

5. 在数组中插入具有索引的对象

- (void)insertObject:(NSObject *)object
             atIndex:(NSUInteger)index;

6. 从数组中删除一个对象

- (void)removeObject:(NSObject *)object;

7. 从数组中删除索引处的对象

- (void)removeObjectAtIndex:(NSUInteger)index;

8. 删除所有对象

- (void)removeAllObjects;

9. 在数组中获取索引处的对象

- (id)objectAtIndex:(NSUInteger)index;

10. 获取数组中的元素数量

- (NSUInteger)count;

11. 使用谓词过滤数组

- (NSArray *)filteredArrayUsingPredicate: (NSPredicate *) predicate;

12. 获取对象的索引

- (NSInteger)indexOfObject: (NSObject *)object;

13. 检查数组是否包含对象

- (BOOL)containsObject: (id)object;

14. 转换为包含所有元素的 NSArray

- (NSArray *)toNSArray;

HMCThreadSafeMutableDictionary

1. 创建一个空实例

HMCThreadSafeMutableDictionary *dict = [[HMCThreadSafeMutableDictionary alloc] init];

2. 使用索引获取、添加或更改对象

dict[@"a"] = @1;
id object = dict[@"a"];

3. 删除所有对象

- (void)removeAllObjects;

4. 根据键删除对象

- (void)removeObjectForkey:(NSString *)key;

5. 转换为 NSDictionray

- (NSDictionary *)toNSDictionary;

作者

chuonghuynh, [email protected]

许可证

HMCThreadSafeMutableCollection 在 MIT 许可下可用。有关更多信息,请查看 LICENSE 文件。