配列のNSMutableString要素の中にユーザーの回答を格納します。私はポップアップ(popGoResultsAlertを呼び出す)の配列の要素のすべてが値を持っていると、ユーザーが質問を完了すると、私はインターネット上で検索するが、その解決策を見つけることに成功しなかった。ここ目的C - NSMutableArrayのすべての要素(NSMutableString)に値がありますか?
は私のコードです:最初のクラスで
[UserData updateUserAnswerValues:[userData objectForKey:@"userAnswerValues"]];
// 2番目のクラス、第三クラスのuserData.m
static NSMutableArray *userAnswerValues;
+ (NSMutableArray *)getAnswersCompleted {
return userAnswerValues;
}
+ (void)updateUserAnswerValues:(NSArray *)newAnswerValues
{
userAnswerValues = [[NSMutableArray alloc] init];
[userAnswerValues addObjectsFromArray:newAnswerValues];
}
+ (void)updateUserAnswerValueWithIndex:(NSUInteger)index andValue:(NSMutableString*)value
{
[userAnswerValues setObject:value atIndexedSubscript:index];
}
の一部:
- (void)viewWillAppear:(BOOL)animated
{
NSMutableArray *userAnswerValues = [UserData getAnswersCompleted];
for (int i=0; i<userAnswerValues.count; i++) {
id object = userAnswerValues[i];// similar to [myArray objectAtIndex:0]
if(object && [object length] !=0 && i!=0)
{
[self popGoResultsAlert];
break;
} else if (!object) {
continue;
}
}
}
編集: //ここでは、4番目のクラスは、起点データがuserAnswerValuesベースに、PickerViewからどのピックアップを選んだか、そのインデックスに値があり、その値がselectedOptionValue変数によって設定されているようです...私はuserAnswerValuesをデバッグして、 userAnswerValues =( ""、 ""、 ""、 ""、 ""、 ""、4,3,4,3、 ""、...の残りの部分を入力してください。 ""まで56項目>、 ""); ので、ユーザは、私の質問は、これらの可変配列を検索し、すべての項目が値を持っているかどうかを確認する方法であるので、上記の要素のPickerView 1の値は、インデックス番号を記入選択したときに...
NSUInteger index = [self.currentQuestion.index integerValue];
[UserData updateUserAnswerWithIndex:index andValue:self.selectedOptionIndex];
Option *selectedOption = [self.currentOptions objectAtIndex:[self.selectedOptionIndex integerValue]];
NSString *selectedOptionValue = selectedOption.value;
[UserData updateUserAnswerValueWithIndex:index andValue:selectedOptionValue];
ありすべての答えの値を単一の同じ配列に格納する質問の3つのセクション。上記のコードでは、3つのセクションのそれぞれが完了するたびに警告のポップアップが表示され、3つのセクションがすべて完了したときにポップアップが表示されます....
私は幸運のないテスト[object length] !=0 , ![object isEqual:[NSNull null]] , ![object isEqualToString:@""]
3は同じ振る舞いを持っています(各セクションの完了後にポップアップを表示、
これらのプロジェクトは私が最初から書いていないので、私はデバッグして、バグを修正しようとしています、userAnswerValuesをデバッグすると、 Item 32thは空の値を持つ_NSFConstantStringですが、Item 33thはNSTagedPointerStringです。詳細は添付ファイルを参照してください。
私はあなたが必要だと思う何
i == lastObject [これは配列の終わりであることが分かりますか?]を確認し、show alertを入力します。 – user3344236
FYI - 'object'は' nil'にすることはできません。それがあるかどうかを確認する必要はありません。 – rmaddy
@ user3344236私が知っている限り、配列の項目は、質問の3つのセクションがあるため、3つのセクションの値がすべて同じ配列に格納されるため、ユーザーは3番目のセクションを最初に選択する可能性があります答えは、最後のオブジェクトが完了するかもしれませんが、最初と2番目のセクションは空ですので、この場合、配列のすべての項目に値があるときだけ、ポップアップを表示したくありません... – Jack