動作するために NSArray にアクセスする必要があるコードがいくつかあります。Core Data で使用している NSArray があり、その中にデータが含まれていますが、NSArrayController を NSArray にアクセスさせる方法がわかりません。
このようにヘッダーファイルで単純に宣言することはできません。アクセスNSArray *objectArray;
する方法またはアクセス先がわからないためNSArray
です。Core Data で使用している NSArray に正確にアクセスするにはどうすればよいですか?
私のヘッダーファイル:
#import <Cocoa/Cocoa.h>
@interface MyOutlineView : NSOutlineView {
NSArrayController* objectArray;
}
@end
私の実装ファイル:
#import "MyOutlineView.h"
@implementation MyOutlineView
- (void) outlineView: (NSOutlineView *) aView
willDisplayCell: (id) aCell
forTableColumn: (NSTableColumn *)aColumn
item: (id) anItem
{
id rootObj = anItem;
unsigned row = [aView rowForItem:anItem];
[aCell setDrawsBackground: YES];
while ([aView levelForRow:row] != 0) {
row --;
rootObj = [aView itemAtRow:row];
}
// The colours here are foul and ugly. Use something else, for
// God's sake!
if( [objectArray indexOfObject:rootObj] % 2 )
[aCell setBackgroundColor: [NSColor yellowColor]];
else
[aCell setBackgroundColor: [NSColor blueColor]];
}
@end