Cocoa 使阵列控制器成为按钮的目标
我正在阅读Cocoa 使阵列控制器成为按钮的目标,cocoa,xcode4.2,Cocoa,Xcode4.2,我正在阅读NSArrayController上的COCOA编程FOR MAC OS X(第三版)一章,它告诉我: 控件拖动以使阵列控制器成为“添加新员工”按钮的目标。设置要添加的操作: 但是,当我拖动阵列控制器时,它不会高亮显示,因此没有目标选项 如何在新的XCode 文件.h: // // Document.h // RaiseMan // // Created by user on 11/12/11. // Copyright (c) 2011 __MyCompanyName__
NSArrayController
上的COCOA编程FOR MAC OS X(第三版)
一章,它告诉我:
控件拖动以使阵列控制器成为“添加新员工”按钮的目标。设置要添加的操作:
但是,当我拖动阵列控制器时,它不会高亮显示,因此没有目标选项
如何在新的XCode
文件.h:
//
// Document.h
// RaiseMan
//
// Created by user on 11/12/11.
// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
//
#import <Cocoa/Cocoa.h>
@interface Document : NSDocument
{
NSMutableArray *employees;
}
@end
第h人:
//
// Person.h
// RaiseMan
//
// Created by user on 11/12/11.
// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
NSString *personName;
float expectedRaise;
}
@property (readwrite, copy) NSString *personName;
@property (readwrite) float expectedRaise;
@end
伙计。。你在IB中做错了。这是错误的-
这些条目应在阵列控制器的属性检查器中创建-
更正后,您将能够正确设置目标:)您是否也可以在某个地方上载代码。。。这样我们就可以检查了?你的代码看起来没问题。。。如果您在drop box或其他文件共享服务上有帐户,您可以上传它,以便我们重现您的问题并解决它吗?下面是该项目的一个摘要:您仍然无法设置目标?请检查并验证其他绑定!是的,当我试图瞄准阵列对象时,它不会突出显示。@ian:Miraj在回答中说的结果是,你使它不是一个阵列控制器。你把它变成了一个person
对象,你想把它保存在数组控制器的数组中。这就是为什么不能将按钮连接到它:一个人
没有任何动作。如果您已经清除了对象的自定义类,但它仍然不起作用,请编辑您的问题,以包括身份和属性检查器的更新屏幕截图,或代码的更新副本。Peter!成功了。如果你想把它变成一个答案,把它放在这里。
//
// Person.h
// RaiseMan
//
// Created by user on 11/12/11.
// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
NSString *personName;
float expectedRaise;
}
@property (readwrite, copy) NSString *personName;
@property (readwrite) float expectedRaise;
@end
//
// Person.m
// RaiseMan
//
// Created by user on 11/12/11.
// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
//
#import "Person.h"
@implementation Person
- (id) init
{
self = [super init];
expectedRaise = 5.0;
personName = @"New Person";
return self;
}
- (void)dealloc
{
[personName release];
[super dealloc];
}
@synthesize personName;
@synthesize expectedRaise;
@end