链接文本到一个整数目标C



这篇文章的目标是找到一种更有效的方法来创建这个方法。现在,当我开始添加越来越多的值,我将有一个非常混乱和令人困惑的应用程序。任何帮助是感激的!

我正在制作一个锻炼应用程序,并为每个锻炼分配一个整数值。例如:

其中编号为exersiceInt:
01是高膝
02是开合跳
03 .原地踏步
等。

我这样做是为了有一个随机锻炼的功能。为此,我使用以下代码:

-(IBAction) setWorkoutIntervals {
        exerciseInt01 = 1 + (rand() %3);
        exerciseInt02 = 1 + (rand() %3);
        exerciseInt03 = 1 + (rand() %3);
}

所以基本上锻炼间隔将首先是随机锻炼(高膝,开合跳和原地慢跑之间)。我想做的是创建一个通用的,它定义了以下内容,这样我就不必连续地硬编码所有内容。

现在我有:

-(void) setLabelText {
if (exerciseInt01 == 1) {
        exercise01Label.text = [NSString stringWithFormat:@"High Knees"];
    }
if (exerciseInt01 == 2) {
        exercise01Label.text = [NSString stringWithFormat:@"Jumping Jacks"];
    }
if (exerciseInt01 == 3) {
        exercise01Label.text = [NSString stringWithFormat:@"Jog in Place"];
    }
}

我已经可以告诉你,一旦我开始为每个锻炼指定图像并开始添加锻炼,这将变得非常混乱。此外,我的计划是为exercise02Label, exercise03Label等放置相同的代码,这将变得非常冗余和可能不必要。

我在想什么,如果能有什么方式说,那就太好了

exercise01Label.text = exercise01Int; (我想说标签的文本等于基于当前整数值的跳跃杰克)

我怎样才能使它,所以我只需要声明一切一次,使代码不那么混乱和冗长?

让您的代码更简单:

1。从0开始计数

如果你从0开始数,很多事情会变得更容易。一个简单的例子是,如果你的第一次练习编号为0,那么你的随机计算将只是rand() % 3(顺便说一句,查找统一随机数,有更好的方法来获得随机数)。

2。了解枚举

枚举是具有一组命名文字值的类型。在(Objective-)C中,您也可以将它们视为命名整数值的集合。例如,可以声明:

typedef enum
{
   HighKnees,
   JumpingJacks,
   JogInPlace,
   ExerciseKindCount
} ExerciseCount;

ExerciseCount声明为具有4个值的新类型。每一个都等于一个整数,这里HighKnees等于0,ExerciseKindCount等于3——这应该会让你想到第一件事,从0开始计数…

3。发现数组

数组是一个有序的项集合,其中每个项都有一个索引,索引通常是一个整数或枚举值。在(Objective-)C语言中,有两种基本类型的数组:C风格和由NSArrayNSMutableArray表示的对象风格。例如,下面是一个简单的c风格数组:

NSString *gExerciseLabels[ExerciseKindCount] =
   {  @"High Knees",
      @"Jumping Jacks",
      @"Jog in Place"
   }

现在你可能已经猜到了,上面数组的第一项的索引是0,从0开始计数…

探索这三件事应该会很快向您展示简化代码的方法。以后你可能会希望探索结构和对象。

HTH

一种简单的方法是将练习名称放入数组中。然后您可以通过索引访问这些名称。eg -锻炼名[锻炼名]。您还可以将练习列表制作成一个数组(整数)。所以你会得到;exerciseNames [exerciseTable[我]];为例。最终,您将需要一个对象来定义练习,以便您可以包含图像,视频,计数,持续时间等。

最新更新