通过索引访问 NSArray 中的 textfield.text
Accessing textfield.text in an NSArray by index
我有一组文本字段。我正在使用 for
循环遍历数组并检查文本字段的文本属性是否为空。
NSArray *arrayOfTextFields = [NSArray arrayWithObjects: _nameTextfield, _emailTextfield, _phoneTextfield, _termTextfield, _schoolTextfield, _graduationTextfield, _gpaTextfield, _degreeTextfield, _interestTextfield, _groupTextfield, _appliedTextfield, nil];
for (int i = 0; i < [arrayOfLabels count]; i++) {
if ([[arrayOfTextFields objectAtIndex:i] isEqualToString:@""]) {
NSLog(@"if statement ran");
}
}
显然 if
语句不会 运行 因为它是将文本字段与字符串进行比较。我不知道如何在 Objective-C 中从语法上做到这一点。在 C++ 或 Java 中,这样的事情会非常容易,它可能看起来像 arrayOfTextFields[i].text == "";
这基本上就是我正在尝试做的事情。我一直在努力在网上找到对这类事情的参考。
NSArray *arrayOfTextFields = [NSArray array];//set your labels here
for (UITextField *textField in arrayOfTextFields) {
if ([textField.text isEqualToString:@""]) {
NSLog(@"if statement ran");
}
}
或者你也可以试试这个..
NSArray *arrayOfTextFields = [NSArray array];//set your labels here
for (int i = 0; i < [arrayOfTextFields count]; i++) {
if ([((UITextField*)[arrayOfTextFields objectAtIndex:i]).text isEqualToString:@""]) {
NSLog(@"if statement ran");
}
}
文本字段中的字符串与文本字段本身不同。您必须访问字段的 text
属性 才能将其与另一个字符串进行比较。语法与您引用的 C++ 或 Java 完全相同:arrayOfTextFields[i].text
.
您也可以使用[[arrayOfTextFields objectAtIndex:i] text]
。两者在效果上是完全等价的(有一些实现上的差异这里不重要)。
您通常还应该将 fast enumeration 与 NSArray
一起使用。因此你的循环看起来像这样:
for( UITextField * field in array ){
if( [field.text isEqualToString:@""] ){
// Do stuff
}
}
我有一组文本字段。我正在使用 for
循环遍历数组并检查文本字段的文本属性是否为空。
NSArray *arrayOfTextFields = [NSArray arrayWithObjects: _nameTextfield, _emailTextfield, _phoneTextfield, _termTextfield, _schoolTextfield, _graduationTextfield, _gpaTextfield, _degreeTextfield, _interestTextfield, _groupTextfield, _appliedTextfield, nil];
for (int i = 0; i < [arrayOfLabels count]; i++) {
if ([[arrayOfTextFields objectAtIndex:i] isEqualToString:@""]) {
NSLog(@"if statement ran");
}
}
显然 if
语句不会 运行 因为它是将文本字段与字符串进行比较。我不知道如何在 Objective-C 中从语法上做到这一点。在 C++ 或 Java 中,这样的事情会非常容易,它可能看起来像 arrayOfTextFields[i].text == "";
这基本上就是我正在尝试做的事情。我一直在努力在网上找到对这类事情的参考。
NSArray *arrayOfTextFields = [NSArray array];//set your labels here
for (UITextField *textField in arrayOfTextFields) {
if ([textField.text isEqualToString:@""]) {
NSLog(@"if statement ran");
}
}
或者你也可以试试这个..
NSArray *arrayOfTextFields = [NSArray array];//set your labels here
for (int i = 0; i < [arrayOfTextFields count]; i++) {
if ([((UITextField*)[arrayOfTextFields objectAtIndex:i]).text isEqualToString:@""]) {
NSLog(@"if statement ran");
}
}
文本字段中的字符串与文本字段本身不同。您必须访问字段的 text
属性 才能将其与另一个字符串进行比较。语法与您引用的 C++ 或 Java 完全相同:arrayOfTextFields[i].text
.
您也可以使用[[arrayOfTextFields objectAtIndex:i] text]
。两者在效果上是完全等价的(有一些实现上的差异这里不重要)。
您通常还应该将 fast enumeration 与 NSArray
一起使用。因此你的循环看起来像这样:
for( UITextField * field in array ){
if( [field.text isEqualToString:@""] ){
// Do stuff
}
}