我有一个读取.txt文件的数组,当你单击一个按钮时,标签会改变.txt文件中的一个单词,但标签不会改变。
这是代码:
if(sender == self.button) {
NSArray *words = [[NSArray alloc] initWithObjects:@"words.txt", nil];
[randomLabel setText:[words objectAtIndex:random() % [words count]]];
}
当我按下按钮时,我应该怎么做才能更改标签? 我用什么文件?
答案 0 :(得分:2)
这里有一些事情:
嗯,对于初学者,你不是在读取.txt文件的内容。
NSArray *words = [[NSArray alloc] initWithObjects:@"words.txt", nil];
这将创建一个1元素数组,其中一个元素为@"words.txt"
。我不知道.txt文件的格式,因此我无法确定您是如何加载它的。请参阅How do I format a text file to be read in using arrayWithContentsOfFile了解如何进行此操作。
此外,您需要确保randomLabel
实际引用按钮中包含的标签,否则按钮文本不会更改。通常,对于按钮,您可以使用以下方法更改标题:
- (void)setTitle:(NSString *)title forState:(UIControlState)state
所以在你的实例中,它是:
NSString* newTitle = [words objectAtIndex:random() % [words count]];
[self.button setTitle:newTitle forState:UIControlStateNormal];
仔细检查sender == self.button
评估为真(为了便于阅读和清晰,我使用[sender isEqual:self.button]
)。使用调试器逐步执行代码,以查看是否正在调用该特定代码段。请参阅http://mobile.tutsplus.com/tutorials/iphone/xcode-debugging_iphone-sdk/了解如何实现这一目标。
答案 1 :(得分:0)
你应该尝试使用