- (void)someMethod
{
if ([delegate respondsToSelector:@selector(operationShouldProceed)])
{
if ([delegate operationShouldProceed])
{
// do something appropriate
}
}
}
Các documentation nói:khi sử dụng respondsToSelector trong Objective-C
Các biện pháp phòng ngừa là cần thiết chỉ cho các phương pháp tùy chọn trong một giao thức chính quy hoặc các phương pháp của một giao thức không chính thức
gì nghĩa là? Nếu tôi sử dụng giao thức chính thức, tôi chỉ có thể sử dụng [delegate myMethod]
?
cảm ơn. Giờ thì tôi đã hiểu.Tôi nhận thấy bạn sử dụng self.delegate, đó là một tài sản. Tôi chỉ sử dụng một biến dụ: id delegate. có gì khác biệt? Im học tập mục tiêu-c. cảm ơn một lần nữa – Taho
'self.delegate' giống hệt như gọi' [self delegate] '. Trong mã của tôi không có sự khác biệt giữa '[self.delegate someMethod]' và '[_delegate someMethod]', nhưng tôi có xu hướng sử dụng dấu chấm cú pháp vì nó giữ nó thẳng trong tâm trí của tôi mà biến là địa phương để các phương pháp tôi đang ở và đó là các biến mẫu. – kubi
Nếu bạn chỉ mới bắt đầu, nó sẽ có giá trị thời gian của bạn để đọc hướng dẫn của Apple để Obj-C. http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProperties.html%23//apple_ref/doc/uid/TP30001163-CH17 – kubi