KVC无法正常工作

时间:2013-05-13 13:33:48

标签: ios kvc

我在iOS上尝试非常简单的KVC来学习。

#import <Foundation/Foundation.h>
@interface KVC : NSObject
@property (nonatomic,strong)NSString *string;
@end

在.m文件中

@implementation KVC
@synthesize string=_string;
@end

中的

int main(int argc, char *argv[])
{
    KVC *kvc;
    [kvc setValue:@"tunvir" forKey:@"name"];
    NSLog(@"%@",[kvc valueForKey:@"name"]);
}

我期待在控制台中使用“ tunvir ”,但它会返回null! 感谢

2 个答案:

答案 0 :(得分:2)

您必须分配并初始化对象。 并且您使用名称string定义了该属性,因此您应该使用该名称而不是name

int main(int argc, char *argv[])
{
    KVC *kvc;
    kvc = [[KVC alloc] init];
    [kvc setValue:@"tunvir" forKey:@"string"];
    NSLog(@"%@",[kvc valueForKey:@"string"]);
}

答案 1 :(得分:1)

您缺少堆栈中对象的实例初始化。

   kvc = [[KVC alloc] init];