gpt4 book ai didi

ios - Objective-C 相当于 Haskell 的 intersperse 函数?或在另一个对象上加入对象?

转载 作者:行者123 更新时间:2023-11-29 10:33:06 24 4
gpt4 key购买 nike

是否有一些类似于 Haskell 的 intersperse 函数的原生 objective c 方法?

举个例子

Prelude> Data.List.intersperse ',' "abcdefg"
"a,b,c,d,e,f,g"

或者可能是一些将对象连接到另一个对象上的函数?我知道我可以通过遍历集合来手动完成它,我只是想知道是否有一些内置功能可以为这个用例服务

我有一些 UIBarButtonItem 对象,[barButtonItem1,barButtonItem2,barButtonItem3]

我想结束:[barButtonItem1,flexButtonItem,barButtonItem2,flexButtonItem,barButtonItem3]

最佳答案

通过 Google 快速搜索此类函数,找到了一个 NSArray+FunctionalKit.h,它实现了您想要的 intersperse 函数。鉴于这存在,我很想说没有内置函数可以做到这一点。您可以将其添加到您的项目中:

@interface NSArray (Intersperse)
- (NSArray *)intersperse:(id)object;
@end

@implementation NSArray (Intersperse)
- (NSArray *)intersperse:(id)object {
NSMutableArray *interspersed = [NSMutableArray array];
for (NSUInteger i = 0; i < [self count]; ++i) {
[interspersed addObject:[self objectAtIndex:i]];
if (i != [self count] - 1) [interspersed addObject:object];
}
return [NSArray arrayWithArray:interspersed];
}
@end

用法:

NSArray *buttons = @[barButtonItem1,barButtonItem2,barButtonItem3];
NSArray *allButtons = [buttons intersperse:flexButtonItem];

整个 GitHub 项目是 available .

关于ios - Objective-C 相当于 Haskell 的 intersperse 函数?或在另一个对象上加入对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28547610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com