Arrays Swift如何制作字典数组?

Arrays Swift如何制作字典数组?,arrays,dictionary,collections,swift,Arrays,Dictionary,Collections,Swift,object-C风格 @interface TestViewController:UIViewController{ NSArray *dataList; } @end @implementation TestViewController - (void)viewDidLoad { [super viewDidLoad]; NSDictionary *dict1 =[[NSDictionary alloc] initWithObjectsAndKeys:@"32",@

object-C风格

@interface TestViewController:UIViewController{
    NSArray *dataList;
}
@end

@implementation TestViewController
- (void)viewDidLoad
{
    [super viewDidLoad];

    NSDictionary *dict1 =[[NSDictionary alloc] initWithObjectsAndKeys:@"32",@"age",@"andy",@"name", nil];
    NSDictionary *dict1 =[[NSDictionary alloc] initWithObjectsAndKeys:@"34",@"age",@"smith",@"name", nil];
    NSDictionary *dict1 =[[NSDictionary alloc] initWithObjectsAndKeys:@"27",@"age",@"jonathan",@"name", nil];

    dataList = [[NSArray alloc]initWithObjects:dict1,dict2,dict3,nil];
}
@end
我想用Swift做同样的代码

所以我按如下方式键入swift样式

class ViewController: UIViewController {
    var datalist = [Dictionary]() //Compile Error -> "Missing argument for parameter #1 in call"
                                  // I can't understand error. What does it mean?



   override func viewDidLoad() {
        super.viewDidLoad()  
        let dict1 = ["age":"32","name":"andy"]
        let dict2 = ["age":"34","name":"smith"]
        let dict3 = ["age":"27","name":"jonathan"]

        datalist = [dict1,dict2,dict3]  //Compile Error -> 'ViewController' does not have a member named 'datalist'
    }
}
但是有2个错误

我不知道为什么会出现错误


您能帮助我吗?

swift中的数组不接受参数,您只需通过将数组设置为[]来创建一个参数,包括或不包括值,例如:

var array : [Int] = []
var array2 = [1,2,3]
Dictionary<String, String>
将创建一个整数数组

此外,swift中的词典需要知道键和值的类型,例如:

var array : [Int] = []
var array2 = [1,2,3]
Dictionary<String, String>
假设字符串是键和值的类型

因此,对于您的示例,您可以将datalist对象重写为:

var datalist : [[String:String]] = []
然后,您可以使用datalist对象的方式,或者通过向其添加[String:String]对象来使用它