Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的iOS应用程序不会遍历我的字符串_Ios_Objective C_Nsstring - Fatal编程技术网

我的iOS应用程序不会遍历我的字符串

我的iOS应用程序不会遍历我的字符串,ios,objective-c,nsstring,Ios,Objective C,Nsstring,我意识到这是一个非常基本的问题,其他的帖子似乎没有帮助,因为我对这个问题太陌生了。我很好奇为什么A.)我的for循环不会遍历我的字符串(问题),为什么B.)当我单击我的目标操作按钮时,它只是在我的iOS模拟器上打印最后一个问题“你姓什么?”。我所有的连接都是正确的,很明显,如果它在构建,我的.h中的所有内容都是正确的 我感谢你的帮助 - (IBAction) question; { for (int i = 0; i < 5; i++) { question

我意识到这是一个非常基本的问题,其他的帖子似乎没有帮助,因为我对这个问题太陌生了。我很好奇为什么A.)我的for循环不会遍历我的字符串(问题),为什么B.)当我单击我的目标操作按钮时,它只是在我的iOS模拟器上打印最后一个问题“你姓什么?”。我所有的连接都是正确的,很明显,如果它在构建,我的.h中的所有内容都是正确的

我感谢你的帮助

- (IBAction) question;
{
    for (int i = 0; i < 5; i++)
    {
        questionLabel.text = @"Whats your name?";
        questionLabel.text = @"Whats your age?";
        questionLabel.text = @"Whats your height?";
        questionLabel.text = @"Whats your weight?";
        questionLabel.text = @"Whats your last name?";

    }
}
-(iAction)问题;
{
对于(int i=0;i<5;i++)
{
questionLabel.text=@“你叫什么名字?”;
questionLabel.text=@“你的年龄是多少?”;
questionLabel.text=@“你的身高是多少?”;
questionLabel.text=@“你的体重是多少?”;
questionLabel.text=@“你姓什么?”;
}
}

它正在遍历您的字符串!它运行得如此之快,以至于你看到的都是最后一个。

这些日志会给你一个确切的想法

- (IBAction) question;
 {
  for (int i = 0; i < 5; i++)
  {

    NSLog(@"Iteration: %d",i);

    questionLabel.text = @"Whats your name?";
    NSLog(@"%@",questionLabel.text);

    questionLabel.text = @"Whats your age?";
    NSLog(@"%@",questionLabel.text);

    questionLabel.text = @"Whats your height?";
    NSLog(@"%@",questionLabel.text);

    questionLabel.text = @"Whats your weight?";
    NSLog(@"%@",questionLabel.text);

    questionLabel.text = @"Whats your last name?";
    NSLog(@"%@",questionLabel.text);

 }
}
如果要在不同的标签上显示所有问题,请创建不同的
UILabel
,并编写以下代码

 - (IBAction) question;
 {
   for (int i = 0; i < 5; i++)
   {

    NSLog(@"Iteration: %d",i);

    questionLabel.text = @"Whats your name?";
    NSLog(@"%@",questionLabel.text);

    questionLabel.text = [questionLabel.text stringByAppendingFormat:@"Whats your age?"] ;
    NSLog(@"%@",questionLabel.text);

    questionLabel.text = [questionLabel.text stringByAppendingFormat:@"Whats your height?"] ;
    NSLog(@"%@",questionLabel.text);

    questionLabel.text  = [questionLabel.text stringByAppendingFormat:@"Whats your weight?"] ;
    NSLog(@"%@",questionLabel.text);

    questionLabel.text  = [questionLabel.text stringByAppendingFormat:@"Whats your last name?"] ;
    NSLog(@"%@",questionLabel.text);

 }
}
- (IBAction) question;
 {
  for (int i = 0; i < 5; i++)
  {

    NSLog(@"Iteration: %d",i);

    questionLabel.text = @"Whats your name?";
    NSLog(@"%@",questionLabel.text);

    questionLabel1.text = @"Whats your age?";
    NSLog(@"%@",questionLabel1.text);

    questionLabel2.text = @"Whats your height?";
    NSLog(@"%@",questionLabel2.text);

    questionLabel3.text = @"Whats your weight?";
    NSLog(@"%@",questionLabel3.text);

    questionLabel4.text = @"Whats your last name?";
    NSLog(@"%@",questionLabel4.text);

 }
}
-(iAction)问题;
{
对于(int i=0;i<5;i++)
{
NSLog(@“迭代:%d”,i);
questionLabel.text=@“你叫什么名字?”;
NSLog(@“%@”,questionLabel.text);
问题1.text=@“你的年龄是多少?”;
NSLog(@“%@”,问题标签1.text);
问题2.text=@“你的身高是多少?”;
NSLog(@“%@”,问题标签2.text);
问题3.text=@“你的体重是多少?”;
NSLog(@“%@”,问题标签3.text);
questionLabel4.text=@“你姓什么?”;
NSLog(@“%@”,问题标签4.text);
}
}

“Xcode不会遍历我的字符串”-没错,Xcode对字符串没有任何作用。这是for循环的作用。你真的需要了解一些关于计算机的基本知识,还有一些常识,如果你开始“开发”缺乏基本知识的iOS应用程序,这将是不好的。可能的重复,我不知道为什么,但我忍不住大笑:我知道你知道,这不是完整的解释:属性设置了五次,但实际上只有最后一个被吸引到屏幕上。是的,@JoshCaswell,我知道你知道我知道。:)但我所说的与事实非常接近,足以让行动重回正轨。我认为他还没有准备好处理属性、事务、运行循环和“重画时刻”!谢谢matt和JoshCaswell。我仍在试图弄清楚为什么当我点击我的目标操作按钮时,它不会显示每个问题。它仍然只显示最后一个问题,我理解为什么,但我不知道如何解决它。我已经知道了如何使用数组和“-(id)initWithNibName”来执行此操作,但无法知道如何让按钮打印每个问题,然后在处理完这里列出的字符串后重新开始。我看过一些使用NSTimer等的重复文章,其中一些基本内容是相同的,但没有帮助我找到答案,因为我是一个笨蛋。@AaronWolverton你必须学习事件驱动的面向对象编程。这是一个典型的实现。实例(视图控制器)有一个状态,即当前问题的索引号,作为实例变量(int)维护,以及相应的问题列表,也作为实例变量(NSString的NSArray)维护。每次单击按钮时,按钮的操作处理程序都会推进索引变量并显示下一个问题。谢谢。我仍在试图弄清楚为什么当我点击我的目标操作按钮时,它不会显示每个问题。它仍然只显示最后一个问题,我理解为什么,但我不知道如何解决它。我已经知道了如何使用数组和“-(id)initWithNibName”执行此操作,但无法知道如何让按钮打印每个问题,然后在处理完我在此处列出的字符串后重新开始。问题很简单,您首先将questionLabel.text指定为名称,下一行您再次将其指定为年龄,因此,名称文本将被替换,并显示年龄,下一行再次将其指定为高度。。因此,年龄文本将被替换,并显示高度、、、等。。这些变化都将在毫秒内发生。所以你看不到变化。只有你能看到“姓氏”。因为你在指定姓氏后不会改变你的标签。我已经用所有细节编辑了我的答案:)谢谢,我很感激!