2011-10-26 41 views

Trả lời

21

Có. Không có giới hạn. Điều duy nhất bạn phải cẩn thận là khi bạn lấy các mục từ mảng để xác minh lớp của chúng (nếu cần) trước khi bắt đầu sử dụng chúng.

+0

ANd làm thế nào để bạn xác minh các lớp của chúng? –

+0

google: "mục tiêu-c tìm lớp đối tượng". Lần truy cập đầu tiên: http://stackoverflow.com/a/2056036 Tóm tắt: "[yourObject isKindOfClass: [a]]" – pmeyer

+0

Vòng lặp for có thể thực hiện việc này cho bạn. Ví dụ với một contornter NSArray *: cho (NSString * string trong container) {// do something}; đi vào và lấy tất cả các đối tượng NSString và làm một cái gì đó và sau đó bạn có thể làm: cho (NSWhatever * bất cứ thứ gì trong container) {// làm cái gì khác}; – unmircea

0

Bạn có thể đặt các đối tượng của lớp khác nhau. Họ chỉ cần thừa kế từ NSObject. Đừng quên phát hành sau khi thêm vào mảng.

+0

Không, họ không cần phải kế thừa từ 'NSObject'. Chúng chỉ cần là đối tượng Objective-C, tức là kiểu 'id'. – mouviciel

+0

Tôi sẽ cụm từ nhận xét của tôi dưới dạng câu hỏi, bạn có thể đảm bảo rằng các loại id sẽ phản hồi lại thông báo lưu giữ/giải phóng không? từ những gì tôi hiểu bạn không thể. – jbat100

+0

Họ không cần. Kiểm tra nguyên mẫu 'addObject:' trong [Tham khảo NSMutableArray] (http://developer.apple.com/library/IOS/#documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference.html) – mouviciel

8

Có.

Đây có thể là câu trả lời ngắn nhất mà tôi từng đăng.

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