English 中文(简体)
如何将天体计数设置为 NSCountedSet 中的零( 或某些值)?
原标题:How to set object count to zero(or some value) in NSCountedSet?

我有追踪 NSCountedSet 的功能。

<NSCountedSet: 0x53dfc0> (item1 [2000], item2 [9000], item3 [200], item4  [3000])

Now i want to remove item1 object from my set.
one solution is

while([mySet countForObject:item1])
 [mySet removeObject:item1];

产出:

<NSCountedSet: 0x53dfc0> (item2 [9000], item3 [200], item4  [3000])

或者我只想要从我的集中删除1000 item1 对象 。

    NSUInteger count = [mySet countForObject:item1];
    while(count)
    {
     [mySet removeObject:item1];
     --count;
    }

产出:

<NSCountedSet: 0x53dfc0> (item1 [1000], item2 [9000], item3 [200], item4  [3000])

还有什么更好的解决办法吗?

最佳回答

你可以用前置的过滤器过滤

[mySet filterUsingPredicate:[NSPredicate predicateWithFormat:@"self != %@", item1]];
问题回答

我不认为你明白问题所在, 所以我得到这些结果:

<NSCountedSet: 0x6d9ee40> (two [1], three [1], one [1], four [1])

[mySet removeObject:@"one"];

<NSCountedSet: 0x6d9ee40> (two [1], three [1], four [1])

NSCountedSet 并不提供用一定数量修改某个对象的计数的方法(真可怜)。

如果速度不是一个问题, 您可以使用上述方法 。 但是, 如果您需要其他方法 : 提供此“ 计算” 功能的 NS MuttableSet 子分类可能是您的最佳选择 。





相关问题
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 ...

热门标签