0

ObjectiveCの方法でforループを書くことに疑問があります。従来のCforループでも同じループを実行できますが、ObjectiveCを学習しようとしています。これが私の質問です。
listdataは、ofi_vc_modal_ab_user_infoオブジェクトのオブジェクトを保持する可変配列です。リストデータがカウントされ、その位置が見つかるまで、リストデータの各電子メールを電子メールと比較します。見つかった場合は、リストデータからオブジェクトを削除します。

    for (ofi_vc_modal_ab_user_info *loc_obj in listData)
    {
        if (strcasecmp(loc_obj->email, email) == 0) {
           // What need to do here.
        }
    }

ここに進む方法...あなたの助けに感謝します:)

4

2 に答える 2

6

Cを使用するだけですfor

実際、を使用するときに反復するコレクションを変更するのはエラーですfor (e in collection)

于 2012-08-29T05:41:08.193 に答える
2
BOOL foundObject = NO; 
ofi_vc_modal_ab_user_info *loc_found_obj = nil; 
for (ofi_vc_modal_ab_user_info *loc_obj in listData)
{
    if (strcasecmp(loc_obj->email, email) == 0) {
       // Set your flag here
       loc_found_obj = loc_obj;
        foundObject = YES;
        break;
    }
}
if(foundObject) {
// Do your stuffs as object is found
// Your found object is in loc_found_obj
 [listData removeObject:loc_found_obj];
}

以下のコードがあなたが望むものを説明することを願っています。さらにサポートが必要な場合は、もう少し説明してください。

編集:使用している場合NSMutableArrayは、オブジェクトのインデックスは必要ありません。編集したコードに記載されているように、オブジェクトを直接削除できます。

于 2012-08-29T05:44:16.207 に答える