Tôi đã viết một lớp con UITabBarController
(được gọi là MainViewController
) và thêm một vài biến mẫu, cụ thể là địa điểm của loại Địa điểm. Mỗi tab của số MainViewController
cần truy cập biến địa điểm của MainViewController
. Trong tab đầu tiên, một lớp con UIViewController
tên HomeViewController
, tôi đã viết phương pháp viewDidLoad
tôi và cố gắng để xuất ra NSLog với cả hai ...Truy cập các thuộc tính của bộ điều khiển chế độ xem (tùy chỉnh)
NSLog(@"%@", self.parentViewController.venue.name);
và
NSLog(@"%@", self.tabBarController.venue.name);
Nhưng XCode cung cấp cho các lỗi
error: request for member 'venue' in something not a structure or union
Tôi có thể truy cập thuộc tính địa điểm từ bên trong MainViewController
tốt mà đã loại trừ lỗi ở đó. Trình mô phỏng iPhone không nhìn thấy cả hai self.parentViewController
và self.tabBarController
dưới dạng phiên bản MainViewController
. Điểm mấu ...
NSLog(@"%@", self.tabBarController);
đầu ra ...
2009-06-05 17:54:46.502 Venue[29729:20b] <MainViewController: 0x536600>
Kể từ khi nó được xem như một trường hợp MainViewController
, tôi nghi ngờ sử dụng đúc sẽ giúp đỡ. Là lựa chọn duy nhất khác của tôi để khởi tạo HomeViewController
với bản sao của địa điểm hoặc tôi chỉ đang làm điều gì đó hoàn toàn sai với 'self.parentViewController.venue.name
'? Cảm ơn, Rob
Bạn đã thiết lập địa điểm và tên là thuộc tính chính xác chưa? tức là những người truy cập tuân thủ KVC viết hoặc đã sử dụng @property và @synthesize? – Abizern