【问题标题】:Looping Inside an NSArray在 NSArray 中循环
【发布时间】:2012-08-10 08:09:56
【问题描述】:

我有这个数组:

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");
}

我该怎么做?提前致谢!

【问题讨论】:

    标签: xcode loops if-statement for-loop nsarray


    【解决方案1】:

    你可以在你的阵列上使用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");
    

    【讨论】:

    • 谢谢。我试试看。
    猜你喜欢
    • 2013-02-25
    • 1970-01-01
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多