NSArray(QMUI)
@interface NSArray<ObjectType> (QMUI)
/**
将多个对象合并成一个数组,如果参数类型是数组则会将数组内的元素拆解出来加到 return 内(只会拆解一层,所以多维数组不处理)
@param object 要合并的多个数组
@return 合并完的结果
*/
+ (instancetype)qmui_arrayWithObjects:(ObjectType)object, ...;
/**
* 将多维数组打平成一维数组再遍历所有子元素
*/
- (void)qmui_enumerateNestedArrayWithBlock:(void (NS_NOESCAPE^)(id obj, BOOL *stop))block;
/**
* 将多维数组递归转换成 mutable 多维数组
*/
- (NSMutableArray *)qmui_mutableCopyNestedArray;
/**
* 过滤数组元素,将 block 返回 YES 的 item 重新组装成一个数组返回
*/
- (NSArray<ObjectType> *)qmui_filterWithBlock:(BOOL (NS_NOESCAPE^)(ObjectType item))block;
/**
* 转换数组元素,将每个 item 都经过 block 转换成一遍 返回转换后的新数组
*/
- (NSArray *)qmui_mapWithBlock:(id (NS_NOESCAPE^)(ObjectType item))block;
@end
Undocumented
-
将多个对象合并成一个数组,如果参数类型是数组则会将数组内的元素拆解出来加到 return 内(只会拆解一层,所以多维数组不处理)
Declaration
Objective-C
+ (nonnull instancetype)qmui_arrayWithObjects:(nonnull ObjectType)object, ...;
Parameters
object
要合并的多个数组
Return Value
合并完的结果
-
将多维数组打平成一维数组再遍历所有子元素
Declaration
Objective-C
- (void)qmui_enumerateNestedArrayWithBlock: (nonnull void (^)(id _Nonnull, BOOL *_Nonnull))block;
Swift
func qmui_enumerateNestedArray(_ block: (Any, UnsafeMutablePointer<ObjCBool>) -> Void)
-
将多维数组递归转换成 mutable 多维数组
Declaration
Objective-C
- (nonnull NSMutableArray *)qmui_mutableCopyNestedArray;
Swift
func qmui_mutableCopyNestedArray() -> NSMutableArray
-
过滤数组元素,将 block 返回 YES 的 item 重新组装成一个数组返回
Declaration
Objective-C
- (nonnull NSArray<ObjectType> *)qmui_filterWithBlock: (nonnull BOOL (^)(ObjectType _Nonnull))block;
Swift
func qmui_filter(_ block: (Any) -> Bool) -> [Any]
-
转换数组元素,将每个 item 都经过 block 转换成一遍 返回转换后的新数组
Declaration
Objective-C
- (nonnull NSArray *)qmui_mapWithBlock: (nonnull id _Nonnull (^)(ObjectType _Nonnull))block;
Swift
func qmui_map(_ block: (Any) -> Any) -> [Any]