hãy thử tạo một tệp chứa các biến cần phải được truy cập trong suốt ứng dụng.
extern NSString *stringVariable;
@interface GlobalVariables
@property (retain, nonatomic) NSString *stringVariable;
@end
và trong file GlobalVariables.m thêm
#import "GlobalVariables.h"
@implements GlobalVariables
@synthesize stringVariable;
NSString *stringVariable;
@end
Và sau đó miễn là bạn nhập GlobalVariables.h vào các tập tin bao giờ .m bạn cần truy cập mà biến trong bạn có thể gán và truy cập bất cứ nơi nào trong suốt chương trình của bạn.
EDIT
câu trả lời của tôi mà tôi đã đưa ra ở trên là khác nhau không phải là cách tôi sẽ đi về việc này ngay bây giờ. Nó sẽ được nhiều hơn như
@interface MyClass
@property (nonatomic, strong) NSString *myVariable;
@end
sau đó trong file .m
@implementation MyClass
@sythesize = myVariable = _myVariable; // Not that we need to do this anymore
@end
Sau đó, trong một lớp học trong một số phương pháp tôi sẽ phải
// .....
MyClass *myClass = [[MyClass alloc] init];
[myClass setMyVariable:@"My String to go in my variable"];
// .....
“Tôi có nhiều lớp trong tệp Cocoa.” Cách thông thường là tạo một cặp tệp (MyClass.h, MyClass.m) cho mỗi lớp. Bạn có thể thực hiện việc này bằng cách nhấp chuột phải vào một nhóm trong dự án và nhấp vào Thêm tệp. Bạn sẽ tạo ra .m, và .h sẽ xuất hiện miễn phí. –
Truy cập trực tiếp các biến mẫu là một ý tưởng rất tồi. Sử dụng các thuộc tính và tổng hợp các trình truy cập hoặc viết của riêng bạn. Truy cập biến trực tiếp phá vỡ những thứ như KVO và các ràng buộc trên Mac OS X, và nó không thực hành tốt OO. – Alex