Tôi cần truyền một chuỗi từ App delegate đến Controller View ban đầu của tôi, Ai đó có thể liệt kê cho tôi cách tốt nhất để làm điều đó, tôi cũng cố gắng lưu và truy xuất bằng cách sử dụng mặc định của người dùng NS nhưng tôi không làm việc đúng cách.Truyền dữ liệu từ ứng dụng ủy quyền tới View Controller
Trả lời
Interface:
@interface MyAppDelegate : NSObject {
NSString *myString;
}
@property (nonatomic, retain) NSString *myString;
...
@end
và trong file .m cho App việc quý vị sẽ viết:
@implementation MyAppDelegate
@synthesize myString;
myString = some string;
@end
Sau đó, trong tập tin viewcontroller.m bạn có thể lấy:
MyAppDelegate *appDelegate = (MyAppDelegate*)[[UIApplication sharedApplication] delegate];
someString = appDelegate.myString; //..to read
appDelegate.myString = some NSString; //..to write
Bài đăng này vừa lưu lại ngày của tôi. Cảm ơn rất nhiều bạn. – Avijit
Câu trả lời của bạn nên được viết bằng chữ in hoa: "Phương pháp của tôi là thực hành nguy hiểm và không tốt, bởi vì nó phá vỡ đóng gói và tạo ra trạng thái toàn cầu." –
Bạn có thể truy cập trình điều khiển chế độ xem gốc của bạn như thế này từ e ứng dụng đại biểu:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
MyViewController* mainController = (MyViewController*) self.window.rootViewController;
[mainController passData:@"hello"];
return YES;
}
Ở đây nó là dành cho Swift:
View Controller
let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate
Hơn nữa, nếu bạn có một đối tượng mà bạn muốn vượt qua giữa quan điểm điều khiển (ví dụ , Tôi có dữ liệu CloudKit mà tôi muốn chia sẻ) thêm số này vào App Delegate:
/* Function for any view controller to grab the instantiated CloudDataObject */
func getCloudData() ->CloudData{
return cloudDataObject
}
Sau đó trở lại trong View Controller
var model : CloudData = self.appDelegate.getCloudData()
- 1. Truyền đối tượng knockout.js observablearray tới MVC Controller Action?
- 2. Ủy quyền và nguồn dữ liệu iOS
- 3. Truyền dữ liệu từ ứng dụng Sinatra/Rack
- 4. MVP (Model View Presenter) hoặc MVC (Model View Controller)
- 5. Phương thức ủy quyền khi xóa ứng dụng
- 6. Thiết kế Clojure Model-View-Controller (MVC)
- 7. Model-View-Controller trong JavaScript
- 8. Ủy quyền tài khoản Google trong ứng dụng Android
- 9. asp.net MVC part view controller action
- 10. Truyền dữ liệu giữa ứng dụng C++ (MFC) và C#
- 11. Hiểu View Controller làm tổ trong iOS
- 12. Extjs4 MVC, cách lấy Model hoặc View từ lớp Controller?
- 13. Triển khai Model-View-Controller đúng cách
- 14. Cách sử dụng sự kiện và ủy quyền để gửi dữ liệu giữa các biểu mẫu?
- 15. Truyền dữ liệu phiên giữa các ứng dụng ASP.NET
- 16. Twitter không nhớ ủy quyền
- 17. Ủy quyền chi tiết cho các ứng dụng web
- 18. Đổi tên/refactoring một View Controller
- 19. Dịch vụ ủy quyền - trả lại danh sách tài nguyên được ủy quyền
- 20. RabbitMQ và ủy quyền
- 21. ASP.NET MVC Truyền Dữ liệu từ Xem tới Bộ điều khiển
- 22. Làm cách nào để chuyển IP từ xa tới dịch vụ được ủy quyền? - Nginx
- 23. Xem thẻ MVC ViewBag tới Controller
- 24. Ủy quyền Asp.net web.config
- 25. iOS 5 Storyboards - Quay trở lại với Initial View Controller
- 26. Cách tăng quyền cho người dùng Facebook đã ủy quyền cho ứng dụng của bạn?
- 27. Thực hiện truyền dữ liệu Bluetooth trên iPhone
- 28. Mẫu để thực hiện ủy quyền trong lớp kho lưu trữ của ứng dụng MVC
- 29. Truyền tới Android MediaPlayer
- 30. ASP.NET MVC - Ủy quyền động
Đó không phải là vì một lý do. Lý do là khá rõ ràng trong đó mục đích của đại biểu của ứng dụng là để đáp ứng với những thay đổi trong trạng thái của ứng dụng. Sử dụng nó như một bãi rác cho dữ liệu và hằng số là hình thức nghèo nàn và dẫn đến sự phụ thuộc vào một đối tượng không phải là một công dân đóng góp trong mô hình MVC. – Tyten