Tôi mới vào Objective-C, nhưng hãy giúp tôi ở đây.Chữ ký phương thức-mục tiêu-C. Chúng có mâu thuẫn không?
Điều tôi thấy là chữ ký của phương thức trong Mục tiêu-C có nhiều tham số dường như không phù hợp.
Ví dụ:
- (void) sendEmail: (NSString *) toStr
subject:(NSString *) subjectStr
body:(NSString *) bodyStr;
OK, vì vậy ở đây chúng tôi có 3 "thông số" (ít nhất đó là những gì tôi đang sử dụng để gọi họ), nhưng 2 trong số đó có những cái tên "bên ngoài" (chủ đề, cơ thể) nhưng cái đầu tiên thì không! Không phải là có điều gì sai trái với điều đó từ quan điểm nhất quán/phong cách?
Khi chúng ta gọi phương pháp này, chúng tôi làm điều đó thích:
[emailObj sendEmail:@"[email protected]" subject:@"testSub" body:@"this is a test"]
(Hy vọng rằng tôi đã đúng mà, nhớ Tôi mới đến đây.)
Vì vậy, các chủ đề và cơ thể được đánh dấu rõ ràng trong cuộc gọi, nhưng không phải là địa chỉ "đến"? Có vẻ như nó thực sự đã làm tôi thất vọng. Tại sao tham số đầu tiên lại nhận được sự điều trị đặc biệt?
Cảm ơn, điều đó giúp ích một chút, nhưng tôi vẫn không thích nó. Tôi thích có phương pháp có tên chung chung hơn và có đối số hoặc tham số cung cấp một số chi tiết cụ thể. – Fraggle
Nói cách khác, nếu bạn nghĩ về các cuộc gọi hàm/phương thức trong C, C++, Java, Perl, Javascript, C#, Python, PHP, vv thì tên phương thức thường sẽ là sendEmail và nó sẽ lấy 3 đối số/tham số. Điều này cũng hoạt động tốt khi bạn muốn quá tải phương pháp của bạn để bạn có thể có một phiên bản mà mất 2 args, khác mà mất 3. Họ sẽ tất cả có cùng một tên phương pháp nhưng chỉ khác nhau số lượng các đối số. Ngoài ra, tôi cảm thấy rằng hầu hết mọi người không nghĩ đến "A: B: C" là tên phương thức, mặc dù về mặt kỹ thuật nó có thể là. Hầu hết các cuốn sách tôi đã xem là A là tên của phương thức hoặc xử lý nó như vậy. – Fraggle
Tôi không thể làm gì cho bạn nếu bạn không thích. Đó là cuộc sống trong Objective-C. Bạn cần phải nói với những người triển khai Objective-C trong Apple. Và, bạn nên đốt cháy những cuốn sách đó đề cập đến 'A' như tên phương pháp. Đó là sai về mặt kỹ thuật và chỉ gây nhầm lẫn cho người đọc. Bạn đã chọn một cuốn sách sai. – Yuji