あなたは名前と思われるものによって2つの方法があります。
1)スクリーンショットに表示されるプレースホルダーのテキストが名前であるか、目的の名前に十分近い場合は、それを使用できます。空の文字列が見つかるまで、テキストフィールドを繰り返して、そのプレースホルダテキストに基づいて警告を表示します。
NSArray *textfields = @[
self.textfield1,
self.textfield2,
];
for (UITextField *tf in textfields) {
if (tf.text.length == 0) {
// Show alert with tf.placeholder
break;
}
}
2)あなたが特定の名前が必要な場合は、そのテキストフィールドに名前をマップする辞書を構築することができます。次に、適切なテキストフィールドを探して辞書を繰り返します。そのクラスがNSCopying
に準拠していないので、辞書は、キーとしてUITextField
を使用することはできません
NSDictionary<NSString *, UITextField *> *textfieldNameMap = @{
@"Name 1" : self.textfield1,
@"Name 2" : self.textfield2,
};
[textfieldNameMap enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
NSString *name = (NSString *)key;
UITextField *tf = (UITextField *)obj;
if (tf.text.length == 0) {
// Show alert using name
*stop = YES;
}
}
は注意してください。また、テキストフィールドが検出される順序は確定的ではありません。
出典
2016-05-24 06:16:17
Avi
この質問に投票すると、具体的な回答はありません。 – BangOperator
@AbhinandanPratap連鎖的な投票はありません。答えのどれも実際に尋ねられていることはありません。 OPは空のすべてのフィールドのリストを表示する警告を必要とします。そして、それに加えて(しかし、答えの下の投票の原因ではない)、誰もそのような貧しい質問への答えを掲示すべきではありません。悪い質問への回答は、もっと悪い質問を促すだけです。 – rmaddy
私は、あまりにも多くの人が客観的なCや他の技術を学ぶ必要がある場合、彼らはここに質問のような赤ちゃんに質問するのではなく、簡単な解決策を見つけるために自分の努力をしなければならないと思います。 – vaibhav