我有一些代码需要访问 NSArray 才能工作。我有一个与 Core Data 一起使用的 NSArray,其中将包含数据,但我不确定如何让我的 NSArrayController 访问 NSArray。
我不能像这样简单地在 Header 文件中声明它: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