Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 目标-C/通过NSArray进行迭代_Objective C_Arrays_Iteration - Fatal编程技术网

Objective c 目标-C/通过NSArray进行迭代

Objective c 目标-C/通过NSArray进行迭代,objective-c,arrays,iteration,Objective C,Arrays,Iteration,----警报:Noob问题传入---- 基本上,我在textFields中有一堆文本字段,我想这样做,当我按下一个按钮(next)时,当前的textfield将退出first responder,数组中的下一个textfield将获得first responder 现在我不知道如何访问计数器+1元素 for (UITextField *counter in _textFields) if ([counter isFirstResponder]) [*insert tex

----警报:Noob问题传入----

基本上,我在textFields中有一堆文本字段,我想这样做,当我按下一个按钮(next)时,当前的textfield将退出first responder,数组中的下一个textfield将获得first responder

现在我不知道如何访问计数器+1元素

for (UITextField *counter in _textFields)
    if ([counter isFirstResponder])
         [*insert text here* becomeFirstResponder];
编辑: 现在我想出了这个方法,但我觉得有一种更优雅的方法

for (int i = 0 ; i < [_textFields count] - 1 ; ++i )
    if ( [[_textFields objectAtIndex: i] isFirstResponder]) {
        [[_textFields objectAtIndex: i+1 ] becomeFirstResponder];
        break;
    }
for(int i=0;i<[\u textFields count]-1;++i)
if([[u textFields objectAtIndex:i]是第一响应者]){
[[u textFields objectAtIndex:i+1]成为第一响应者];
打破
}

你为什么有这种感觉?您应该担心的是,当数组中的最后一个文本字段是当前的第一个响应者时会发生什么情况……是的,我已通过在for上方放置if语句解决了这一问题,该语句仅允许for在最后一个文本字段为第一反应者。至于我的感觉,我认为(;)是一种古老的东西,我通常只看到新代码中的(in)循环。旧的,是的,但这并不意味着坏的,只是不同而已。