היי
יש לי שתי מחלקות, נקרא להן classA ו-classB. שתיהן subclass של UIViewController. במחלקה classA יש לי מחרוזת שמקבלת את הערך שלה לאחר [self presentModalViewController:viewController ... אני רוצה להשתמש בערך שלה במחלקה classB להלן הקוד:
ClassA.h:
@class ClassB;
@interface ClassA : UIViewController {
ClassB *classB;
NSString stringA;
}
@property (nonatomic, retain) ClassB *classB;
@property (nonatomic, retain) NSString *stringA;
@end
ClassA.m:
stringA = [NSString stringWithString:webView.request.URL.absoluteString];
ClassB.h:
@class ClassA;
@interface ClassA : UIViewController {
ClassB *classA;
NSString stringB;
}
@property (nonatomic, retain) ClassB *classA;
@property (nonatomic, retain) NSString *stringB;
@end
ClassB.m:
- (void)viewWillAppear:(BOOL)animated {
self.stringB = classA.stringA;
}
כמובן ביצעתי #import במחלקות
משום מה אני מקבל (null) במחרוזת במחלקה classB.
אשמח לעזרה
תודה!
שני דברים:
א. מדוע ב-ClassB.m המשתנה classA הוא הצבעה מסוג Class B? האם זה בכוונה? כמו כן, NSString בדרך כלל אמור להיות מוגדר כהצבעה (הבעיה חוזרת בשתי המחקלות), כלומר:
NSString *stringB
ב. נראה כאילו הערך של classA הוא פרטי ולכן לא ניתן לגשת אליו מבחוץ. תנסה לתת לו הרשאת קריאה:
@property (retain, readonly)NSString *stringA;
או הרשאת קריאה וכתיבה:
@property (retain, readwrite)NSString *stringA;
זהו אתר שאלות ותשובות למתכנתים. כל אחד יכול לשאול שאלה , כל אחד יכול לענות על שאלה, כל אחד יכול להגיב לתשובות.