我在一个类中声明一个变量,并希望在同一个类中使用该变量,但我想将数据放入另一个类中的变量中。如何从另一个类填充变量?
编辑:
我在一堂课中有这个:
NSManagedObject *managedObject = [self.fetchedResultsController objectAtIndexPath:indexPath];
NSString *aString = [[managedObject valueForKey:@"data"] description];
然后我在另一堂课中有这个:
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]];
答案 0 :(得分:3)
创建一个property / setter方法来设置变量:
在.h
@property(nonatomic, assign) int myInt;
在.m
@synthesize myInt;
答案 1 :(得分:1)
在第一个类中创建一个返回该字符串的方法。
+ (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]];
}
答案 2 :(得分:1)
关于属性的东西都是真的。缺少的部分是一个班级与另一个班级交谈的方式。我这样做的时间如下:
假设我有一个名为“First”的类和一个“Second”类。在我的“第一”课程中,我希望能够访问“第二”课程中的“myInt”varable。
我会宣布“第二”:
@class FirstClass; // Forward Declaration
@interface SecondClass: NSObject {
FirstClass*first;
}
@property (nonatomic,retain) FirstClass *first;
现在,无论我创建了secondClass(在这种情况下,它是在 firstClass中,但它不一定是),我会做类似“
SecondClass *second = [[SecondClass alloc] init];
[second setFirst: self];
然后在“第二”代码中,你可以这样做:
[first setMyInt:123];