English 中文(简体)
OBJ-C:使用价值 钥匙不是扼杀物时的KeyPath
原标题:OBJ-C: using valueForKeyPath when key is not a string

我有一架装有NSNumber物体的NSDictionary物体的NSArray。 我愿利用价值计算最高值。 如果我以下列例子使用插座,我将使用“ForKeyPath:@max.OHLCClose”。 我如何将NSNumber物体作为钥匙?

typedef enum _OHLCField {
   OHLCOpen,
   OHLCClose
} OHLCField;

NSMutableArray *newData = [NSMutableArray array];

newData addObject: [NSDictionary dictionaryWithObjectsAndKeys: 
[NSDecimalNumber numberWithDouble:fOpen], [NSNumber numberWithInt:OHLCOpen], 
[NSDecimalNumber numberWithDouble:fClose], [NSNumber numberWithInt:OHLCClose]];
最佳回答

KVC要求关键是:

关键在于确定物体的具体财产。 通常,钥匙与接收物体中的接触器方法或试算变量的名称相对应。 钥匙必须使用ASCII编码,首先使用低频信函,不得含有白色空间。

因此,很不幸的是,你可以不使用<>ForKeyPath:。

If you need to use NSNumber s as your keys you will have to code the algorithm yourself - just iterate over the array and find the maximum value associated with your key. You could wrap the algorithm in a category so it becomes "part" of NSArray.

问题回答

暂无回答




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

热门标签