2
您好我想從我的父視圖傳遞一個indexvalue我的子視圖這樣 //main.m傳遞IndexPath到子視圖
SubViewController *subViewController = [[SubViewController alloc] init];
subViewController.parentViewSelectedIndexPath = indexPath;
然而,當我嘗試檢查,看看是否值已移交到子視圖像這樣
//sub.m
- (void)viewDidLoad
{
//
NSLog(@"%@", parentViewSelectedIndexPath);
//
decliration在側 sub.h
//
@interface VehicleResultViewController : UITableViewController {
//
NSIndexPath *parentViewSelectedIndexPath;
//
@property (nonatomic, retain) NSIndexPath *parentViewSelectedIndexPath;
//
@end
//回答
子視圖加載它會被傳遞到indexpath之前..所以我 不得不使用時執行後 是(didSelectRowAtIndexPath方法)本打印出來的正確方法從主視圖發送給它的索引路徑 。
它打印(空)到控制檯..我做錯了什麼?
這裏沒有足夠的代碼來說明。例如,如果您聲明瞭一個ivar'parentViewSelectedIndexPath',但是然後將您的屬性合成爲'@synthesize parentViewSelectedIndexPath = _parentViewSelectedIndexPath',那麼訪問'-viewDidLoad'中的ivar並不會給您提供屬性。 –
完整性檢查:在設置parentViewSelectedIndexPath後添加'NSLog(@「%@」,indexPath);''。怎麼了? – PengOne
此外,如果你的-init方法訪問'self.view'(我希望它不會),那麼'-viewDidLoad'會在你有機會設置屬性之前觸發。 –