首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何判断我是否在Objective-C中的for X in Y循环的最后一次迭代中

如何判断我是否在Objective-C中的for X in Y循环的最后一次迭代中
EN

Stack Overflow用户
提问于 2009-02-14 06:42:23
回答 3查看 3.7K关注 0票数 6

我有一个使用for (someArray中的NSObject *obj ){}语法的循环。有没有一种简单的方法来判断我是否在循环的最后一次迭代中(即,而不必使用someArray计数)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-02-14 06:51:05

也许这能行得通?

代码语言:javascript
复制
if ( obj == [ someArray lastObject ] ) {
    // ...
}
票数 16
EN

Stack Overflow用户

发布于 2009-02-14 06:52:05

您可以使用NSArray#lastObject来确定obj是否等于[NSArray lastObject]

代码语言:javascript
复制
for (NSObject *obj in someArray) {
    if ([someArray lastObject] == obj) {
        NSLog(@"Last iteration");
    }
}
票数 15
EN

Stack Overflow用户

发布于 2009-02-14 11:03:58

与其在每次迭代时都调用数组,不如使用来缓存数组中的最后一个对象:

代码语言:javascript
复制
NSObject *lastObject = [someArray lastObject];
for (NSObject *obj in someArray) {

    // Loop code

    if (obj == lastObject) {
        // do what you want for the last array item
    }
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/548627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档