这是Stack Overflow的第一个问题。我一直在使用这个网站并使用它的资源来找出我的编程问题的答案,但我担心我找不到我正在寻找的答案时间。
我已经创建了这五个字符串:
//List five items from the book and turn them into strings
//1 Josh the Trucker
NSString *stringJosh = @"Josh the Trucker";
//2 The Witch from the Remote Town
NSString *stringWitch = @"The Witch from the Remote Town";
//3 Accepting the curse rules "Willingly and Knowingly"
NSString *stringRules = @"Accepting the curse rules, --Willingly and Knowingly--";
//4 Josh's time left to live--Five Days Alive Permitted
NSString *stringFiveDays = @"Josh's time left to live--Five Days Alive Permitted";
//5 The Fire Demon Elelmental
NSString *stringDemon = @"The Fire Demon Elelmental";
然后,我把它们放在一个数组中:
//Create an array of five items from the book
NSArray *itemsArray = [[NSArray alloc] initWithObjects:
stringJosh,
stringWitch,
stringRules,
stringFiveDays,
stringDemon,
nil];
然后,我创建了这个可变字符串,我需要遍历数组并将项目附加到UIlabel。
NSMutableString *itemsString = [[NSMutableString alloc] initWithString:
@"itemsArray"];
这是循环,它显示控制台日志中的项目。
for (int i=0; i<5; i++)
{
NSLog(@"Book Item %d=%@", i, itemsArray[i]);
}
我的问题是,如何将这些项目附加到UIlabel中? 这些功能在我的appledelegate中。
在我的viewDidAppear函数(flipsideViewController)中,我有:
label8.text =""----thats where the looped info needs to go.
我该怎么做? 我觉得我需要将它们放在一起并附加在NSLog应该的位置......但是如何将该信息传递给textlabel?
我希望自己解释一下。
我们还没有做过任何附加示例,我想这是我需要从&#34;野生&#34;
获得答案的地方这是我所知道的最疯狂的编码环境,所以我希望我能在这里找到方向。
谢谢你看看!
答案 0 :(得分:4)
一旦你想要在NSArray中连接所有字符串,就可以将它们与单个调用组合在一起(使用你想要的任何分隔符):
NSString *combinedString = [itemsArray componentsJoinedByString:@" "];
如果需要更复杂的逻辑,可以使用NSMutableString在迭代数组时创建所需的结果,即:
NSMutableString *combinedString = [NSMutableString string];
[itemsArray enumerateObjectsUsingBlock:^(NSString *obj, NSUInteger idx, BOOL *stop) {
[combinedString appendFormat:@"Book Item %d=%@ ", idx, obj];
}];
另请注意,最好使用快速枚举或块枚举迭代集合,而不是使用基于索引的简单for循环。
答案 1 :(得分:1)
NSMutableString *labelText = [NSMutableString string];
int i = 0;
for (NSString *item in itemsArray)
[labelText appendFormat:@"Book Item %d=%@\n", i++, item];
label8.text = labelText;
答案 2 :(得分:-1)
做这个
UILabel * mainlabel; mainlabel.text = [origText stringByAppendingString:get];
将您的文本添加到mainlabel .. orig文本是可变字符串,否则在forloop中只需将索引文本中的数组对象附加到for.oplo上的代码行上的label.put