Không thể tạo một mảng giống như bạn đang làm lúc biên dịch. Đó là bởi vì nó không phải là "hằng số thời gian biên dịch." Thay vào đó, bạn có thể làm một cái gì đó như:
static NSArray *tArray = nil;
-(void)viewDidLoad {
[super viewDidLoad];
tArray = [NSArray arrayWithObjects:@"A", @"B", @"C", nil];
}
Nếu nó thực sự quan trọng là bạn phải biên dịch sẵn này, sau đó tôi đoán bạn có thể tạo ra một dự án thử nghiệm, tạo mảng (hoặc bất kỳ đối tượng), bạn cần, điền vào nó, sau đó serialize nó bằng cách sử dụng NSKeyedArchiver (mà sẽ lưu nó vào một tập tin), và sau đó bao gồm tập tin đó trong ứng dụng của bạn. Sau đó, bạn sẽ cần sử dụng NSKeyedUnarchiver để hủy lưu trữ đối tượng để sử dụng. Tôi không chắc chắn sự khác biệt về hiệu suất là gì giữa hai cách tiếp cận này. Một ưu điểm của phương thức này là bạn không có một khối mã lớn nếu bạn cần khởi tạo một mảng bao gồm rất nhiều đối tượng.
Nó không phải là quan trọng để có nó biên dịch trước, do đó, giải pháp của bạn hoạt động hoàn hảo cho tôi. Cảm ơn! – MoreFamed
Điều này tạo ra mảng mỗi khi 'viewDidLoad' thực thi, một phép thử' nil' sẽ tốt. – Cristik