This question already has answers here:
Swift equivalent to `[NSDictionary initWithObjects: forKeys:]`

(5个答案)


2年前关闭。



 NSArray *keys = @[@"one", @"two", @"three"];
 NSArray *values = @[@1, @2, @3];
 NSDictionary *dict = [[NSDictionary alloc] initWithObjects: values forKeys: keys];
 if user.isEligible() {
    [dict setObject:@"Hi" forKey:@"Eligible"];
 }

我已经看到了给定here的答案,但这不是我想要的

我需要在Swift中存储Dictionary而不是NSDictionary,并且我需要initWithObjects:forKeys函数的确切翻译

我希望此dict可变,以便可以像在if-condition中添加对象一样向其添加对象。

最佳答案

您可以使用以下方法在extension广告中创建便捷初始化程序:

for (key, value) in zip(keys, values) {
        self[key] = value
}

zip函数基本上返回:

元组对的序列,其中每个对的元素是
sequence1和sequence2的对应元素。

关于ios - Swift等效于NSDictionary initWithObjects:ForKeys ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42580337/

10-12 17:01