KVC不工作

问题描述:

我想在iOS上学习非常简单的KVC。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! 谢谢

+1

备注 - 您不需要编译器的新版本的'@ synthesize'行。 – rmaddy 2013-05-13 16:33:33

你将不得不分配和初始化对象。 ,您使用一个名称string中定义的属性,所以你应该使用该名称在堆栈中的对象实例的不name

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

它工作。感谢您的帮助。 – 2013-05-13 13:41:29

+0

我不清楚它如何帮助编码器写动态code.would你给任何链接,范van帮助我。谢谢 – 2013-05-13 13:42:46

+0

@TunvirRahmanTusher不要忘了接受答案,回答你的问题。 – rmaddy 2013-05-13 16:34:52

你缺失的初始化。

kvc = [[KVC alloc] init];