使用UIbutton在plist NSmutable Array中显示下一项

时间:2010-07-18 23:00:24

标签: iphone dictionary uibutton nsarray plist

我正在开发一款具有包含A UILabel的单个View的iphone应用。 UILabel显示plist中的字符串,其结构如下;

Root................................................(Array)
.............Item 0.................................(Dictionary)
.........................Question...................(String)    "question 0"
.............Item 1.................................(Dictionary)
.........................Question...................(String)    "question 1"
.............Item 2.................................(Dictionary)
.........................Question...................(String)    "question 2"

Plist定义为NSArray,每个Dictionary中的字符串使用常量键调用。

我现在想要实现一个UIButton,当按下它时,将plist / array中的下一个项目加载到UILabel中。

我需要具体知道这个Action在代码中会是什么样子,因为我无法在任何地方找到一个例子:(。任何人都可以帮忙吗?

Ĵ

2 个答案:

答案 0 :(得分:0)

听起来您想要一个UITabelView并将每个单元格设置为属性列表中的项目。这是非常好的文档,不仅在这种情况下需要的API方面,而且在示例代码中。例如,表视图套件是一个值得一看的好地方。

尝试并根据用户界面显示您的用例,您将看到我的意思。

答案 1 :(得分:0)

嗯,我有自己的方式做这样的事情,我现在就告诉你。

你会想要这样做。你需要4个UIButtons 4个字,所以1个单词的1个按钮。我将从.h开始,宣布我的出路和行动。

{
IBOutlet UIButton *Button1; 
IBOutlet UIButton *Button2; 
IBOutlet UIButton *Button3; 
IBOutlet UIButton *Button4;
IBOutlet UILabel *Label; 
}
// and now I'll do 4 actions.
-(IBAction)Button1Action;
-(IBAction)Button2Action;
-(IBAction)Button3Action;
-(IBAction)Button4Action;

在我的.m中,我将从应用程序启动后立即运行的一些代码开始。所以我可以做viewDidLoad,因为我不记得我的头顶上的applicationDidFinish启动方法。

-(void)viewDidLoad {
NSLog(@"Application has launched, hiding buttons 2, 3, and 4.");
[Button2 setHidden:YES];
[Button3 setHidden:YES];
[Button4 setHidden:YES];
}

现在我们要做的了。在Interface Builder中分离4个按钮,连接按钮,然后将第一个按钮放在你想要的位置,第二个按钮放在它上面,第三个按钮,然后是第四个,依此类推,无论你有多少单词。

-(IBAction)Button1Action {
NSLog(@"Button 1 pressed.);
[Button2 setHidden:YES];
[Button3 setHidden:YES];
[Button4 setHidden:YES];
[Button1 setHidden:NO];
Label.text = @"word number 1";
}

-(IBAction)Button2Action {
NSLog(@"Button 2 pressed.);
[Button1 setHidden:YES];
[Button3 setHidden:YES];
[Button4 setHidden:YES];
[Button2 setHidden:NO];
Label.text = @"word number 2";
}

-(IBAction)Button3Action {
NSLog(@"Button 3 pressed.);
[Button1 setHidden:YES];
[Button2 setHidden:YES];
[Button4 setHidden:YES];
[Button3 setHidden:NO];
Label.text = @"word number 3";
}

-(IBAction)Button4Action {
NSLog(@"Button 4 pressed.);
[Button1 setHidden:YES];
[Button2 setHidden:YES];
[Button3 setHidden:YES];
[Button4 setHidden:NO];
Label.text = @"word number 4";
}

然后就是这样。我喜欢按照自己的方式做事,有时候比人们常做的方式更长,有时更短。我希望这会对你有所帮助。