【发布时间】:2013-01-31 22:46:39
【问题描述】:
如何在我的模型类 ValueItem 中使用 AppDelegate 类中的 NSArrayController 的内容设置数组:
@interface AppDelegate : NSObject <NSApplicationDelegate>
{
ValueItem *vi;
}
和:
@implementation AppDelegate
{
ValueItem *array = [[ValueItem alloc]init];
[array setValueArray:[outArrayController arrangedObjects]];
NSArray *testArray2 = vi.valueArray; // !!!getter or setter doesn't work!!!
NSLog(@"test array 2 is:%@", testArray2);
}
NSLog 返回NULL。我在这里想念什么?
(valueArray 用@property 和@synthesize 初始化)
ValueItem.h:
#import <Foundation/Foundation.h>
@interface ValueItem : NSObject
{
NSNumber *nomValue;
NSNumber *tolerancePlus;
NSNumber *toleranceMinus;
NSMutableArray *valueArray;
}
@property (readwrite, copy) NSNumber *nomValue;
@property (readwrite, copy) NSNumber *tolerancePlus;
@property (readwrite, copy) NSNumber *toleranceMinus;
@property (nonatomic, retain) NSMutableArray *valueArray;
@end
ValueItem.m:
#import "ValueItem.h"
@implementation ValueItem
@synthesize nomValue, tolerancePlus, toleranceMinus;
@synthesize valueArray;
-(NSString*)description
{
return [NSString stringWithFormat:@"nomValue is: %@ | tolerancePlus is: %@ | toleranceMinus is: %@", nomValue, tolerancePlus, toleranceMinus];
}
@end
【问题讨论】:
-
需要查看您的
ValueItem代码。NSLog(@"%@", [outArrayController arrangedObjects]);的输出是什么? -
您好迈克尔,感谢您的回复。使用
NSLog(@"%@", [outArrayController arrangedObjects]);读取 arrayControllers 内容可以正常工作并按预期返回内容。我添加了ValueItem代码。 -
查看
NSLog(@"%@", vi.valueArray);的输出 -
嗨迈克尔,它仍然返回
NULL。代码位于操作(按钮)方法中。这对“代码流”很重要吗
标签: macos cocoa nsarraycontroller