English 中文(简体)
目标-C:在[复制]的阿雷拉发现物体发生次数
原标题:Objective-C: Finding the amount of times an Object occurs in an Array with indexes [duplicate]

我需要一种办法,计算在任何特定可移动的阿雷拉发生物体的多少时间,然后将物体的索引归还给一枚可持久、可移动的阿雷。 我尝试了这样做的两重方式,但必须加以说明。

So basically say I have an array containing 2,3,3,4,3,5,3 When searching for 3, it should give me both the number of times, 4, and a seperate array containing 1,2,4,6 (the indexes of the objects.

I saw the following code already here on the site, but cant work out how to modify it, can anyone help me?

int occurrences = 0;
for(NSString *string in array){
    occurrences += ([string isEqualToString:@"Apple"]?1:0); //certain object is @"Apple"
}
问题回答
int occurrences = 0;
NSMutableArray *indices = [NSMutableArray array];
int i = 0;
for (i = 0; i < [array count]; i++) {
    NSString *obj = [array objectAtIndex:i];
    if ([obj isEqualToString:@"Apple"]) {
        occurrences++;
        [indices addObject:[NSNumber numberWithInt:i]];
    }
}

您也可以放弃对<代码>occurrences的跟踪,并做类似的事情。

int occurrences = [indices count];

  id thingYouAreLookingFor;

  NSIndexSet *result = [array indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
    return [thingYouAreLookingFor equals: obj];
  }];

Easy way to do it if you don t mind time, it s a square time operation.

  1. Keep a counter, recording how many elements from array1 has appeared in array2
  2. for all element in array1, test if it exist in array2. If it exist, counter++, if not, continue.
  3. return the counter.

使用<代码>[米表Array 含有目标:参数],以回收组合2 含有一个元素。





相关问题
Asynchronous request to the server from background thread

I ve got the problem when I tried to do asynchronous requests to server from background thread. I ve never got results of those requests. Simple example which shows the problem: @protocol ...

objective-c: Calling a void function from another controller

i have a void, like -(void) doSomething in a specific controller. i can call it in this controller via [self doSomething], but i don t know how to call this void from another .m file. I want to call ...

ABPersonViewController Usage for displaying contact

Created a View based Project and added a contact to the AddressBook using ABAddressBookRef,ABRecordRef now i wanted to display the added contact ABPersonViewController is the method but how to use in ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

NSUndoManager and runModalForWindow:

I have a simple Core Data app which displays a list of entities in the main window. To create or add new entities, I use a second modal window with a separate managed object context so changes can be ...

NSMutableArray values becoming "invalid"

I m trying to show a database information in a tableview and then the detailed information in a view my problem is as follow: I created a NSMutableArray: NSMutableArray *myArray = [[NSMutableArray ...

iPhone numberpad with decimal point

I am writing an iPhone application which requires the user to enter several values that may contain a decimal point (currency values, percentages etc.). The number of decimal places in the values ...

热门标签