如何制作一个字符串数组

时间:2013-02-05 16:52:50

标签: ios arrays string

两个问题:

第一个问题:

我想制作这样的字符串数组:

国家[1] =挪威; 资本[1] =奥斯陆;

国家[2] =德国; 资本[2] =柏林;

我该如何编写此代码?它应该很简单,但我不明白我见过的任何解释。我想我想使用NSArray,因为我不想改变它们! 我想主要的问题是我如何声明这个数组!

第二个问题:

我可以在按钮文本中使用例如Capital [2]吗?这就像一个测验,如果Country [2]是给定的国家,我希望这是一个选项。

/ a noob

4 个答案:

答案 0 :(得分:6)

在Obj-c中声明NSArray的最简单方法是这样的:

NSArray *Countries = @[@"Norway", @"Germany"];
NSArray *Capitals = @[@"Oslo", @"Berlin"];

然后,您可以稍后使用[]表示法访问这些索引:

[myButton setTitle:Capitals[1] forState:UIControlStateNormal];

记住编程语言中的数组是0索引的!这意味着第一个元素是索引0,第二个元素是索引1,依此类推

答案 1 :(得分:1)

第一个答案

根据您的示例,您可以使用Array文字实现它:

NSArray* countries = @[@"Norway", @"Germany"];
NSArray* capitals = @[@"Oslo", @"Berlin"];
但是,首都城市与这些国家脱钩,它们有可能不同步。更好的表示形式是数组字典:

NSArray* countries = @[@{@"name":@"Norway", @"capital":@"Oslo"},
                       @{@"name":@"Germany", @"capital":@"Berlin"}];

第二次回答

当然可以!假设您在屏幕上有一个UIButton,可通过属性button访问。使用原始数组,对于德国,您可以使用:

[self.button setTitle:capitals[1] forState: UIControlStateNormal];

对于字典,您可以使用:

NSDictionary* selectedCountry = countries[1];
NSString* country = selectedCountry[@"name"];
NSString* capital = selectedCountry[@"capital"];
[self.button setTitle:capital forState:UIControlStateNormal];

答案 2 :(得分:1)

NSArray *country = @[@"Norway", @"Germany"];
NSArray *capital = @[@"Oslo", @"Berlin"];
NSString *capitalOfGermany = capital[1];

berlinButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[berlinButton setTitle:capitalOfGermany forState:UIControlStateNormal];
berlinButton.frame = CGRectMake(120, 200, 80, 20);

[self addSubview:berlinButton];

答案 3 :(得分:1)

这不是你想要的字符串数组,它是一个字典数组:

NSArray *countryArray = @[ @{@"Country" : @"Norway", @"Capital" : @"Oslo"},
                        @{@"Country" : @"Germany", @"Capital" : @"Berlin"} ];

编辑我更正了变量声明。