Video: MCNews 24/05: iPhone 11 và iOS 13 chính thức lộ diện cực độc đáo 2025
Nếu Trip sử dụng đối tượng Events trong ứng dụng iOS của bạn, bạn đã tạo ra tốt hơn lớp học. Đây là một ví dụ điển hình về cách các lập trình linh hoạt có thể phát triển ứng dụng. Thực hiện theo các bước sau:
-
Trong trình điều khiển Dự án, chọn nhóm Model Classes và sau đó nhấp chuột phải vào vùng chọn và chọn New File từ menu xuất hiện hoặc chọn File → New → File từ menu chính (hoặc nhấn ⌘ + N).
Bất kể phương pháp nào bạn chọn, bạn sẽ được chào đón bởi hộp thoại Tệp Mới.
-
Trong cột bên trái của hộp thoại, chọn Cocoa Touch dưới tiêu đề iOS, chọn mẫu Objective-C Class ở ngăn phía trên bên phải, sau đó bấm Next.
Bạn sẽ thấy hộp thoại cho phép bạn chọn các tùy chọn cho tệp tin của bạn.
-
Nhập Sự kiện trong trường Lớp.
-
Chọn hoặc nhập NSObject trong trường Subclass Of và sau đó nhấp vào Next.
Trong bảng Lưu xuất hiện, nhấp vào Tạo. -
Lớp Events là đối tượng mô hình quản lý sự kiện. Bạn có thể tưởng tượng rằng lớp Events có thể được mở rộng để làm nhiều hơn nữa - chẳng hạn như trả về vị trí, xử lý sự kiện từ nhiều nguồn hoặc thậm chí cho phép người dùng thêm các sự kiện của riêng mình.
@interface Các sự kiện: NSObject - (id) initWithDestinationIndex: (NSUInteger) destinationIndex; - (NSUInteger) numberOfEvents; - (NSString *) getEvent: (NSUInteger) chỉ mục; -d
Mã này có ba phương pháp: một phương pháp khởi tạo và hai phương pháp để xử lý yêu cầu Chuyến đi.
Tiếp theo, bạn cần thêm thuộc tính. Thêm mã in đậm vào Sự kiện. m để tạo một phần mở rộng lớp với một thuộc tính. (Phần mở rộng lớp cơ bản mà không có thuộc tính có thể đã có trong dự án của bạn.)
#import "Sự kiện.h" @interface Sự kiện () @property (strong, nonatomic) NSMutableArray * events; -d @implementation Events
Như bạn thấy, có một phương pháp khởi tạo (được sử dụng bởi khi nó tạo đối tượng). Thêm mã vào Sự kiện. m để thực hiện initgiestDestinationIndex: phương pháp khởi tạo.
- (id) initWithDestinationIndex: (NSUInteger) destinationIndex {self = [super init]; nếu (tự) {NSString * filePath = [[NSBundle mainBundle] pathForResource: @ "Điểm đến" ofType: @ "plist"]; NSDictionary * destination = [Từ điển NSDictionaryWithContentsOfFile: filePath]; NSArray * destinationArray = điểm đến [@ "DestinationData"]; NSDictionary * data = destinationArray [destinationIndex]; tự.Các sự kiện = [NSMutableArray arrayWithArray: data [@ "Sự kiện"]];} return self;}
Tất cả các phương pháp này tại thời điểm này là nhận được mảng URL cho các trang HTML bạn đã tạo và bạn đã nhập vào Plist điểm đến. Nó đặt các URL này trong một mảng mà bạn tạo ra - để thu được hiệu quả hơn sau đó.
Các EventsController, như bạn sẽ thấy, sẽ cần phải biết số sự kiện và thông tin sự kiện. Bạn đã thêm các phương pháp vào Chuyến đi, nhưng thực tế sẽ nhận được thông tin đó từ Sự kiện. Thêm mã vào Sự kiện. m để thực hiện phương thức trả về số sự kiện.
- (NSUInteger) numberOfEvents {return [self. sự kiện count];}
Để có được số sự kiện, bạn trả về đếm mảng.
Các EventsController cũng sẽ cần phải có một danh sách các URL sự kiện. Thêm mã trong Liệt kê 16-10 vào Sự kiện. m để thực hiện phương pháp đó.
- (NSString *) getEvent: (NSUInteger) index {return self. events [index];}
Để trả về một sự kiện, bạn sẽ trả lại URL dựa trên chỉ mục vào mảng đó. Điều này sẽ có ý nghĩa hơn khi bạn đi qua mã EventsController và EventPageController.
