2011-07-01 26 views

Trả lời

12

phép nói rằng myCommonMethod: là chức năng phổ biến gọi từ cả hai bộ điều khiển xem, bạn có thể kiểm tra viewController dù đó là thành viên của một lớp hoặc không sử dụng phương pháp isMemberOfClass:NSObject của bạn.

-(void) myCommonMethod:(UIViewController*) aViewController 
{ 
     if([aViewController isMemberOfClass:NSClassFromString(@"MyFirstController")]) 
     { 
     } 
     else if([aViewController isMemberOfClass:NSClassFromString(@"MySecondController")]) 
     { 

     } 
} 
+0

tôi nhận được lỗi này: yêu cầu cho thành viên 'navigationController' trong một cái gì đó không phải là một @barbgal cấu hoặc công đoàn – user198725878

+0

: kiểm tra câu trả lời được cập nhật. – Jhaliya

+0

Tôi đang sử dụng EGORefereshTableHeaderView, Trong đó tôi đang gọi hàm refreshLastUpdatedDate. Hàm này được gọi bởi hai view.so thời gian ngày cập nhật cuối cùng không được duy trì đúng cách.i không chắc chắn làm thế nào để sử dụng lớp EGORefreshTableHeaderView giữa nhiều khung nhìn ... Xin hãy giúp tôi ra – user198725878

3

Nếu cả hai bộ điều khiển xem của bạn đang kêu gọi cùng một chức năng sau đó bạn có thể vượt qua self như một tham số trong phương pháp này bạn có thể viết chức năng như -

-(void) functionName:(UIViewController*) viewController 
39

Nếu nó là một ứng dụng định vị dựa , bạn có thể nhận được bộ điều khiển xem hiện tại bởi,

UIViewController *currentVC = self.navigationController.visibleViewController; 
+0

Tôi có một câu hỏi tiếp theo. Làm thế nào bạn sẽ có được chi tiết hiện tạiVC trong một ứng dụng splitView .. Cảm ơn –

+0

@David DelMonte, Xin lỗi vì trả lời chậm trễ, nhưng tôi không quen thuộc với SplitView. Cảm ơn. – EmptyStack

+0

ok. cảm ơn vì đã trả lời. –

Các vấn đề liên quan