請看下面的代碼。如何從另一個類設置NSString *屬性?
FirstViewController.h:
@interface FirstViewController : UIViewController {
NSString* inputData;
}
@property (nonatomic, copy/retain) NSString* inputData;
FirstViewController.m:
@synthesize inputData;
SecondViewController.m:
- (IBAction)buttonSaveDown {
[firstViewController setInputData:@"Text"];
firstViewController.inputData = @"Text";
firstViewController.inputData = [[NSString stringWithString:@"Text"] retain];
}
與inputData每一行後面添加斷點。檢查firstViewController.inputData - 它是'(null)'!爲什麼?
Printing description of inputData:
(null)
另外我嘗試在編輯器中編輯值。設置值後,結果也爲'(null)'。
構建中沒有任何警告。請幫助任何人。非常感謝!
給版主:對不起,有人刪除了同一個前面的問題,當我要求刪除它的所有評論。
FirstViewController是否已初始化?同樣在你設置inputData的第三次嘗試中,如果@property指令被設置爲複製或保留,則不需要保留調用,這實際上會導致內存泄漏。 –
您確定firstViewController在buttonSaveDown方法中有效嗎?如果它爲零,那麼這些都不會起作用。 – Flyingdiver