gpt4 book ai didi

ios - Objective-C 中 FOR 循环的奇怪行为

转载 作者:行者123 更新时间:2023-12-01 17:19:15 25 4
gpt4 key购买 nike

发现了一个我找不到解释的情况。

我在objective-c中有一组数组。
这种情况下,数组有 4 个空数组。

NSArray *dados = [[NSArray alloc] initWithObjects:
[[NSArray alloc] init],
[[NSArray alloc] init],
[[NSArray alloc] init],
[[NSArray alloc] init],
nil];

如果它有两个或更多数字,我想要一个“for”通过一个内部数组。
for(int i=0; i<((NSArray *)[dados objectAtIndex:1]).count-1;i++){
NSLog(@"do anything");
}

这个“for”进入无限循环。
但是,如果我使用“NSLog”告诉我条件是-1,并且"is"不应该发生
NSLog(@"%d",((NSArray *)[dados objectAtIndex:1]).count-1);

2014-02-20 15:37:42.563 iKL Time-sheet[31666:a0b] -1

当停止条件为 0 <-1 时,这个“for”怎么可能变成无限循环?

被认为是一个奇怪的案例,如果有人可以解释什么能够更好地理解我感谢的语言

---------------------------------//----------------
回答:
for(int i=0; i<(int)(((NSArray *)[dados objectAtIndex:1]).count-1);i++){
NSLog(@"do anything");
}

有了这个类型转换效果很好,对此的解释在于下面的答案

最佳答案

count是一个无符号整数 (NSUInteger)。当计数为零时,减一换行,产生一个大数。零小于一个大数。

关于ios - Objective-C 中 FOR 循环的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21912631/

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