これを検索するために間違った語彙を使用しているかどうかはわかりませんが、私がやろうとしていることと関連していると思われるものを見つけることができません.
経費を入力するために作成したクラスがあります。Name、amount、および dueDate メンバー変数があります。コマンド ライン ツールを使用してこのクラスを作成し、テストしています。私の質問は、ユーザーが費用を追加する必要があるため、クラスからオブジェクトを作成する方法です。これは私がそれを機能させるために行ったことです。私はそれが気に入りません。
while ループはクラスの新しいインスタンスを作成し、ユーザー入力を取得し、expense クラスのメンバー変数を設定し、最後に後で使用するためにオブジェクトを配列に追加します。
すべてのオブジェクトが基本的に同じ名前を持っているのが好きではありません。ユーザーが入力した名前からオブジェクトの名前を作成したかったのですが、ユーザーにクラスの名前を入力させるのは良くないことがわかりました。ですから、何か提案をお願いします。そして、私はプログラミングにかなり慣れていないので、コードはおそらく非常にラフです.
NSMutableArray *myExpenses = [[NSMutableArray alloc] init];
while (enterMore == 1)
{
Expense *anExpense = [[Expense alloc]init];
NSLog(@"Enter an expense:\n\nName: ");
scanf("%s", expenseName);
billName = [NSString stringWithUTF8String: expenseName];
anExpense.name = billName;
NSLog(@"\nEnter the amount of the expense: ");
scanf("%lf", &expenseAmount);
anExpense.amount = expenseAmount;
NSLog(@"\nEnter the day of the month the expense is due: ");
scanf("%d", &dateDue);
anExpense.dayOfMonthDue = dateDue;
[myExpenses addObject:anExpense];
NSLog(@"Enter 1 to enter more expenses anything else to quite: ");
scanf("%d", &enterMore);
}
for (int i = 0; i < [myExpenses count]; i++)
{
NSLog(@"%@", [[myExpenses objectAtIndex:i] name]);
NSLog(@"%f", [[myExpenses objectAtIndex:i] amount]);
NSLog(@"%d", [[myExpenses objectAtIndex:i] dayOfMonthDue]);
}