运维开发网

objective-C语言 arrayWithObjects …是否有使用同一对象的快捷方式?

运维开发网 https://www.qedev.com 2020-02-27 08:15 出处:网络 作者:运维开发网整理
arrayWithObjects …是否有使用相同对象“a”或任何对象的快捷方式? NSMutableArray *kkk = [NSMutableArray arrayWithObjects: @"a", @"a", @"a", @"a", nil]; 就像是: NSMutableArray *kkk = [NSMutableArray arrayWithObjects: [repeat: @"
arrayWithObjects …是否有使用相同对象“a”或任何对象的快捷方式?

NSMutableArray *kkk = [NSMutableArray arrayWithObjects: @"a", @"a", @"a", @"a", nil];

就像是:

NSMutableArray *kkk = [NSMutableArray arrayWithObjects: [repeat: @"a", 4] , nil];

谢谢

您可以创建一个类别方法,例如:

@interface NSMutableArray (Additions)
 - (void)addObject:(id)object numberOfTimes:(NSUInteger)times;
@end

@implementation NSMutableArray (Additions)
- (void)addObject:(id)object numberOfTimes:(NSUInteger)times
{
    for (NSUInteger i = 0; i < times; i++) {
        [self addObject:object];
    }
}
@end

(根据您的具体情况,您可能希望创建对象的副本,而不是将同一对象多次添加到同一个数组中)

然后你可以这样做:

[array addObject:@"a" numberOfTimes:4];
0

精彩评论

暂无评论...
验证码 换一张
取 消