Arrays Swift如何制作字典数组?
object-C风格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",@
@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]对象来使用它