【问题标题】:Is this object KVC-compliant?这个对象是否符合 KVC?
【发布时间】:2012-08-03 11:30:45
【问题描述】:

我正在尝试了解如何在 Xcode 中使用绑定。我有这门课:

#import <Foundation/Foundation.h>

@interface OddsItem : NSObject {
    NSMutableDictionary *properties;
}
@property(nonatomic, retain) NSMutableDictionary *properties;

@end

#import "OddsItem.h"


@implementation OddsItem {

}
@synthesize properties;

- (void)dealloc {
    [properties release];
    [super dealloc];
}

@end

这是否符合 KVC?我发现的例子似乎是在合成属性之前。

如果它不符合 KVC 标准,我必须做什么才能做到这一点?

【问题讨论】:

    标签: objective-c xcode cocoa kvc


    【解决方案1】:

    @synthesized 生成的方法符合 KVO。

    只要您使用 setter 方法更改属性,它将符合 KVO。

    但是,如果您直接更改实例变量,则不会。在这种情况下,您将不得不手动调用willChangeValueForKey:didChangeValueForKey:

    【讨论】:

    • 当我覆盖 synthesised 的 getter/setter 方法时会怎样?在 getter 和 setter 中,我可以直接访问 _properties 对吗?
    猜你喜欢
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 2017-12-10
    相关资源
    最近更新 更多