Objective c 没有用于分配给属性的Setter方法-cocoa应用程序

Objective c 没有用于分配给属性的Setter方法-cocoa应用程序,objective-c,cocoa,nstextfieldcell,Objective C,Cocoa,Nstextfieldcell,我是objective-c的新手,刚刚遇到了一个以前从未见过的错误。 我试图将文本字段单元格设置为“可选”,但我得到了错误“没有为属性赋值的Setter方法“setIsSelectable” 以下是.h和.m文件。 谢谢 DataPanel.h #进口 @接口数据面板:NSPanel @属性(弱)ibnstextfieldcell*textField; @结束 DataPanel.m #导入“DataPanel.h” @实现数据面板 @合成文本字段=_textField; -(无效)从NIB中唤

我是objective-c的新手,刚刚遇到了一个以前从未见过的错误。 我试图将文本字段单元格设置为“可选”,但我得到了错误“没有为属性赋值的Setter方法“setIsSelectable”

以下是.h和.m文件。 谢谢

DataPanel.h
#进口
@接口数据面板:NSPanel
@属性(弱)ibnstextfieldcell*textField;
@结束
DataPanel.m
#导入“DataPanel.h”
@实现数据面板
@合成文本字段=_textField;
-(无效)从NIB中唤醒{
_textField.stringValue=@“1.1绩效标准第1.1节中绩效标准的总体目标是在学校提供声学条件,以(a)促进教师和学生之间以及学生之间的清晰言语交流,以及(b)不干扰学习活动。”;
_textField.isSelectable=是;
}
@结束

在Objective-C中,以“is”开头的属性通常只是属性的获取者,而不是属性本身。
这是一个惯例

仅就一般知识而言,您可以通过以下方式声明属性来完成此操作:
@属性(非原子,getter=isaviable)BOOL可用

因此,在使用
isAvailable
时尝试设置上述方法将不起作用,因为它是getter方法,并且您无法设置getter

至于你的问题,
尝试从
\u textField.isSelectable=YES更改代码到以下任一项,它应该可以工作。
\u textField.selective=YES
[\u textField setSelectable:YES]


祝你好运,朋友。

啊,好的,谢谢你的提示。代码也运行良好,非常感谢。很高兴听到你得到它的工作伙伴。如果它确实回答了你的问题,如果你能将它标记为已接受的答案,我将不胜感激。我建议你找一本现代教程。使用
@synthesis
已经有几年没有必要了。
DataPanel.h
#import <Cocoa/Cocoa.h>

@interface DataPanel : NSPanel
@property (weak) IBOutlet NSTextFieldCell *textField;

@end



DataPanel.m
#import "DataPanel.h"

@implementation DataPanel
@synthesize textField = _textField;

- (void) awakeFromNib{

_textField.stringValue = @"1.1 Performance standards The overall objective of       the performance standards in Section 1.1 is to provide acoustic conditions in schools that (a) facilitate clear communication of speech between teacher and student, and between students, and (b) do not interfere with study activities.";
_textField.isSelectable = YES;
}

@end