Tôi có một bài hát lớp với các thuộc tính Tiêu đề, Khóa, Nghệ sĩ, v.v. Không có phương pháp. Tôi lặp qua một cơ sở dữ liệu thông tin bài hát và tạo một đối tượng Song cho mỗi, điền các thuộc tính, và sau đó lưu trữ các đối tượng Bài hát trong một NSArray.Mục tiêu C Class hoặc cấu trúc?
Sau đó, tôi nghĩ, tại sao không chỉ có một Song cấu trúc với tất cả những đặc tính tương tự thay vì một bài hát lớp. Làm như vậy sẽ loại bỏ các tệp lớp, dòng #import Song trong tệp .m của lớp đang sử dụng và cần phân bổ, init, phát hành.
Mặt khác, tôi phải đặt định nghĩa cấu trúc trong mọi lớp có thể cần. (Trừ khi có một số vị trí có thể truy cập toàn cầu - ở đó?) Ngoài ra, một cấu trúc có thể được lưu trữ trong NSArray không?
Tuyệt vời, bây giờ tôi biết. –
Một cấu trúc có thể được lưu trữ khá hiệu quả trong một NSPointerArray mà không có NSValue (bạn phải mô tả cấu trúc bằng cách sử dụng các hàm khác nhau). Nhưng theo ARC, các cấu trúc không còn có thể chứa các đối tượng, chẳng hạn như NSString: bạn phải truyền một cái gì đó giống như một tên bài hát cho một char, điều này làm cho cấu trúc ít hữu ích hơn nhiều. Vì vậy, tôi đang thay đổi lớp học. –