2009-08-08 43 views
0

我在AppDelegate中声明了一个NSString。我想从我的View类读取/写入该字符串,但它给我错误getter/setter方法找不到。在AppDelegate中声明的NSString的setter和getter

下面是我正在访问它:

MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate]; 

appDelegate.myString = @"test"; 
+0

你是如何声明MyString的? ...你在使用@synthesize还是直接执行getter/setter对? – bbum 2009-08-08 21:09:53

回答

4

如何你有myString属性定义?

为了访问它就像你说的,你需要三样东西:

在接口方面,有@property定义的变量和,并在实施@synthetize

喜欢的东西:

// MyAppDelegate.h 
@interface MyAppDelegate 

NSString *myString; 

@end 

@property NSString *myString; 


// MyAppDelegate.m 
@implementation MyAppDelegate 

@synthetize myString; 

@end 
+0

谢谢!我错过了@synthesize和@property – user140736 2009-08-08 21:21:26

+0

从技术上讲,你不需要属性或syntehsize - 你只需要一个setter和一个getter,即方法 - (NSString *)myString和 - (void)setMyString:(NSString * )inString。 @property只是为你声明这些方法,@synthesize只是为你写代码,但你可以使用点符号来访问它,而不用实际使用@property或@synthesize。 – 2009-08-09 10:45:49