访问另一个类中的变量的最简单方法
问题描述:
我在一个类中声明一个变量,并希望在同一个类中使用该变量,但是我想将数据放入不同类中的变量中。我怎样才能从另一个类中填充一个变量?访问另一个类中的变量的最简单方法
编辑:
我有这在一个类:
NSString *stalklabel = aString;
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://news.search.yahoo.com/rss?ei=UTF-8&p=%@&fr=news-us-ss", stalklabel, nil]];
答
在你的第一类中创建一个返回字符串的方法。
+ (NSString*)dataName {
NSManagedObject *managedObject = [self.fetchedResultsController objectAtIndexPath:indexPath];
NSString *aString = [[managedObject valueForKey:@"data"] description];
}
在第二个类中,调用该方法。
- (void)whatEverClass {
NSString *stalklabel = [FirstClass dataName];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://news.search.yahoo.com/rss?ei=UTF-8&p=%@&fr=news-us-ss", stalklabel, nil]];
}
答
使属性/设置器方法来设置变量:
NSManagedObject *managedObject = [self.fetchedResultsController objectAtIndexPath:indexPath];
NSString *aString = [[managedObject valueForKey:@"data"] description];
然后我在另一个类中有这样的:
在.h
@property(nonatomic, assign) int myInt;
在.M
@synthesize myInt;
答
关于房产的东西都是真的。缺失的部分是一个班级与另一个班级交谈的方式。我一直这样做,如下所示:
假设我有一个名为“First”的类和一个“Second”类。在我的“First”类中,我希望能够访问“Second”类中的“myInt”可扩展。
我将宣布“第二”这样:
@class FirstClass; // Forward Declaration
@interface SecondClass: NSObject {
FirstClass*first;
}
@property (nonatomic,retain) FirstClass *first;
现在,无论我(在这种情况下,它是内的Firstclass说,但它并没有成为)创建二等,我ð像做”
SecondClass *second = [[SecondClass alloc] init];
[second setFirst: self];
然后里面的 “第二” 的代码,你可以这样做:
[first setMyInt:123];
这将有助于,如果你会清楚地陈述你的问题,也许给示例代码。你是否试图从一个不同的类访问一个变量(使用一个属性)或试图从另一个类获取一个值来放入一个局部变量(使用一个函数)? – RyanJM 2010-11-10 20:02:33