0

我有这个数组:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *firstname = [defaults objectForKey:kFirstName];
NSString *middlename = [defaults objectForKey:kMiddleName];
NSString *lastname = [defaults objectForKey:kLastName];
NSString *gender = [defaults objectForKey:kGender];
NSString *bloodtype = [defaults objectForKey:kBloodType];
NSString *civilstatus = [defaults objectForKey:kCivilStatus];
NSString *nationality = [defaults objectForKey:kNationality];

NSArray *nameArray = [NSArray arrayWithObjects:firstname, middlename, lastname, gender, bloodtype, civilstatus, nationality, nil];

我想在数组中创建一个循环来检查 NSString 对象是否为空或有一个值。

目前,我有这个不使用数组的凌乱 if 语句:

if (([firstname length] || [middlename length] || [lastname length] || [gender length] || [bloodtype length] || [civilstatus length] || [nationality length]) == 0)
{
    NSLog(@"test1");
}

我怎样才能做到这一点?提前致谢!

4

1 回答 1

0

您可以enumerateObjectsUsingBlock在您的阵列上使用,这对于此类任务非常方便:https ://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/NSArray.html#//apple_ref/ occ/instm/NSArray/enumerateObjectsUsingBlock

或者干脆使用快速枚举:

for (NSString *item in nameArray)
    if ([item length])
        NSLog(@"test1");
于 2012-08-10T08:16:03.080 回答