gpt4 book ai didi

iphone - 如何检测数组是否不为空?

转载 作者:行者123 更新时间:2023-12-03 20:26:32 25 4
gpt4 key购买 nike

我正在尝试检测数组是否不为空,以便能够执行特定的调用。我尝试使用 if (![array ==nil]) 但无法编译。我确信对此有一个非常简单的解释。

更新

如果数组为空,我想这样做:

array = [[NSMutableArray alloc]init];

如果它有一个对象,我想这样做:

array = [[userDefaults arrayForKey:@"MyFavorites"] mutableCopy];

最佳答案

如果您声明了它但根本没有为其分配任何内容:

NSMutableArray *array;

那么该数组将为nil,这意味着它根本不存在,因此您无法判断它是否为空,因此您无法检查任何内容。

如果您确实为其分配了某些内容,并且您想知道现有数组是否为空,这取决于您首先如何创建它。

  • 如果数组是通过某种便捷方法分配的,它会自动释放,因此只需执行以下操作:

    if ([array count] == 0) {
    array = [[NSMutableArray alloc] init];
    } else {
    array = [[userDefaults arrayForKey:@"MyFavorites"] mutableCopy];
    }
  • 如果数组是通过 init 或 copy 方法分配的,或者之前已保留,则将计数存储在临时变量中,释放数组并使用临时变量来决定要执行的操作:

    NSInteger count = [array count];
    [array release];

    if (count == 0) {
    array = [[NSMutableArray alloc] init];
    } else {
    array = [[userDefaults arrayForKey:@"MyFavorites"] mutableCopy];
    }

关于iphone - 如何检测数组是否不为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3647002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com