8

Xcodeでは、いくつかをに格納NSStringNSMutableArrayます。

Hello
Here
MyBook
Bible
Array
Name2
There
IamCriminal

ユーザーは文字列を入力できます。

Name2

NSMutableArray文字列のインデックスを知らずに、その特定の文字列をから削除する必要があります。私は、反復を使用するという考えを持っています。その他の最善の方法。Plzサンプルコーディングを提供します。

4

6 に答える 6

22

あなたはcontainsObjectでメソッドを使用することができますNSMutableArray

if ([yourArray containsObject:@"object"]) {
    [yourArray removeObject:@"object"];
}

迅速:

if yourArray.contains("object") {
    yourArray = yourArray.filter{ $0 != "object" } 
}
于 2012-12-18T13:07:11.963 に答える
8
[array removeObject:@"Name2"];

NSMutableArrayのremoveObjectのドキュメント:メソッドの状態:

一致は、isEqual:メッセージに対するオブジェクトの応答に基づいて決定されます。

つまり、このメソッドは、オブジェクトをと比較して配列を反復処理します@"Name2"。オブジェクトがに等しい場合、そのオブジェクトは@"Name2"配列から削除されます。

于 2012-12-18T13:23:36.933 に答える
0

これを試して、

BOOL flag = [arrayName containsObject:Str];   

if (flag == YES)
{   
     [arrayName removeObject:Str];
}
于 2012-12-18T13:06:32.323 に答える
0
[array removeObject:@"name2"];
于 2012-12-18T13:06:49.143 に答える
0

あなたはこれを試すことができます

for(NSString *string in array)
{
    if([[string lowercasestring] isEqualToSring:[yourString lowercasestring]])
    {
        [array removeObject:string];
        break;
    }
}
于 2012-12-18T13:21:14.617 に答える
0

あなたは簡単に使うことができます

[yourArray removeObject:stringObjectToDelete];

このメソッドは、indexOfObject:を使用して一致を検索し、removeObjectAtIndex:を使用してそれらを削除します。したがって、一致は、isEqual:メッセージに対するオブジェクトの応答に基づいて決定されます。配列にanObjectが含まれていない場合、メソッドは効果がありません。

于 2012-12-18T14:14:02.730 に答える