0

以下のコードでは、食料品リストに queso があるかどうかを確認しています。最初はそうではありませんが、addObject メソッドで追加します。

問題は、配列に追加する前と追加した後のどちらの方法でも、NO (「0」) という同じ答えが返されることです。これが私のコードです。私のコードで何が間違っているのか誰か教えてください。私がそれを呼び出すのは2回目のようで、スキップされています。

// Create some grocries
NSString *salsa = [NSString stringWithString:@"Texas Texas Salsa"];
NSString *queso = [NSString stringWithString:@"The Best Queso"];
NSString *chips = [NSString stringWithString:@"Our Chips"];

// Create the mutable array
NSMutableArray *groceryList = [NSMutableArray array];

// Add groceries to the list
[groceryList addObject:chips];
[groceryList addObject:salsa];

//Try out the containsObject: method for my array
BOOL quesoIsOnTheList = [groceryList containsObject:queso];
NSLog(@"Is queso on the list? %i", quesoIsOnTheList);

// Forgot to put queso in the query, add it to the top of the list    
[groceryList insertObject:queso atIndex:0];

// Now check again after queso has been added
NSLog(@"Now is queso on the list? %i", quesoIsOnTheList);
4

1 に答える 1

3

配列にquesoを挿入する前にquesoIsOnTheListを定義し、quesoを追加した後、同じ変数をログに記録するので、もちろんNOになります。その2番目のログを次のように置き換えます。

NSLog(@"Now is queso on the list? %i",[groceryList containsObject:queso]);

が返されるはずYESです。

于 2012-05-20T04:39:31.353 に答える