FROM : Dustin Voss
DATE : Thu Nov 25 18:30:43 2004
On 25 Nov, 2004, at 7:51 AM, Ricky Sharp wrote:
> I'm ensuring my objects are KVC compliant. Thanks to Kevin Callahan's
> Accessorizer, this is going very smoothly.
>
> However, I'm trying to figure out what to do with the following iVar:
>
> NSString* imageNames [IIButtonImageCount];
>
> where IIButtonImageCount is a constant (currently 6). This
> fixed-sized array stores the names of the images to use for all states
> I allow for my buttons. If a particular value is nil, that signals
> that the particular state doesn't have an image in which case it
> reverts to using some other state. For example, not all my buttons
> will have "mouseover" images.
>
> But isn't it a case where I cannot create indexed accessors for
> imageNames as it isn't one of the collection classes (e.g. NSArray)?
Sure you can. The actual data structure doesn't matter, what matters is
that there is a defined set of methods the system can call. In this
case, you simply have to implement -countOfImageNames and
-objectInImageNamesAtIndex:.
> And, while I don't currently have ivars like this:
>
> float someAttribute [SomeConstant];
>
> Would that also have to be changed to say an NSArray containing
> NSNumbers?
This one is the same thing, just make sure that
-objectInSomeAttributeAtIndex: returns an NSNumber.
DATE : Thu Nov 25 18:30:43 2004
On 25 Nov, 2004, at 7:51 AM, Ricky Sharp wrote:
> I'm ensuring my objects are KVC compliant. Thanks to Kevin Callahan's
> Accessorizer, this is going very smoothly.
>
> However, I'm trying to figure out what to do with the following iVar:
>
> NSString* imageNames [IIButtonImageCount];
>
> where IIButtonImageCount is a constant (currently 6). This
> fixed-sized array stores the names of the images to use for all states
> I allow for my buttons. If a particular value is nil, that signals
> that the particular state doesn't have an image in which case it
> reverts to using some other state. For example, not all my buttons
> will have "mouseover" images.
>
> But isn't it a case where I cannot create indexed accessors for
> imageNames as it isn't one of the collection classes (e.g. NSArray)?
Sure you can. The actual data structure doesn't matter, what matters is
that there is a defined set of methods the system can call. In this
case, you simply have to implement -countOfImageNames and
-objectInImageNamesAtIndex:.
> And, while I don't currently have ivars like this:
>
> float someAttribute [SomeConstant];
>
> Would that also have to be changed to say an NSArray containing
> NSNumbers?
This one is the same thing, just make sure that
-objectInSomeAttributeAtIndex: returns an NSNumber.
| Related mails | Author | Date |
|---|---|---|
| Ricky Sharp | Nov 25, 16:51 | |
| Dustin Voss | Nov 25, 18:30 | |
| Ricky Sharp | Nov 25, 18:47 | |
| mmalcolm crawford | Nov 26, 00:37 |






Cocoa mail archive

