我有UItextField
,我想在其中显示数组的内容。
所以我尝试了类似的东西(然后我意识到它显然不会有效):
for (NSInteger i=0; i<myArray.count; i++) {
[self.myTextField setText:myArray[i] ];
}
因此,正如您可能猜到的,此代码只在我的文本字段中显示数组的最后一个元素。
我的问题:是否可以在不删除已存在的内容的情况下编辑文本字段的内容?
非常感谢您的回答!
答案 0 :(得分:1)
尝试:
[self.myTextField setText:[[self.myTextField text] stringByAppendingString:myArray[i]]];
答案 1 :(得分:1)
有很多方法可以做到这一点。 使用现有方法执行此操作的一种方法是
for (NSInteger i = 0; i < myArray.count; i++) {
self.myTextField.text = [NSString stringWithFormat:@"%@ %@", self.myTextField.text, myArray[i]];
}
答案 2 :(得分:0)
我没有调试这个,请原谅我,如果它不起作用。
for (NSInteger i = 0; i < myArray.count; i++) {
self.myTextField.text = [self.myTextField.text stringByAppendingString:myArray[i]];
}
答案 3 :(得分:0)
不是每次迭代都设置到您的字段,而是将数组内容附加到可变字符串,并在最后将字段设置为该字符串。如果要以不同方式格式化,可能需要根据需要添加空格或换行符。
NSMutableString *arrayContentsString = [[NSMutableString alloc] init];
for (NSInteger i = 0; i < myArray.count; i++) {
[arrayContentsString appendString:myArray[i]];
}
[self.myTextField setText:arrayContentsString];
答案 4 :(得分:0)
如果您只想将文本附加到现有文本,则可以执行以下操作:
for (NSInteger i = 0; i < myArray.count; i++) {
[self.myTextField setText:[self.myTextField.text stringByAppendingString:myArray[i]]];
}
答案 5 :(得分:0)
NSArray有一个名为componentsJoinedByString
&#39;的方法。它返回一个NSString对象,该对象是在数组元素之间插入给定分隔符的结果。
NSString *string = [myArray componentsJoinedByString:@" "];
[self.myTextField setText:string];
答案 6 :(得分:0)
尝试快速枚举它会更快: -
for (NSString *str in myArray)
{
self.myTextField.text = [self.myTextField.text stringByAppendingString:str];
}
答案 7 :(得分:0)
快速回答:
self.myTextField.text = self.myTextField.text?.stringByAppendingString(" ★")