The delegate in objc is not the same concept as in c#. The delegate in obj c is the delegation mode in the design pattern, which is generally a protocol (called interface in other languages, protocol in objc), optional and required (I guess You said request (probably misspelled), which means whether a certain method or variable when implementing the protocol is required or optional. For example, the table view itself does not know how many rows it wants to display or what it wants to display. When it needs to display it, it will ask its delegate (another weak reference of an object that obeys UITableViewDelegate/UITableViewDatasource). I want to display it. How many lines? How high is each row? Show something? If a class obeys UITableViewDelegate, some methods must be implemented (required) and some are optional (optional). Just think that you just use heavy keywords in objc and c#, but the meanings are different.
The delegate in objc is not the same concept as in c#. The delegate in obj c is the delegation mode in the design pattern, which is generally a protocol (called interface in other languages, protocol in objc), optional and required (I guess You said request (probably misspelled), which means whether a certain method or variable when implementing the protocol is required or optional. For example, the table view itself does not know how many rows it wants to display or what it wants to display. When it needs to display it, it will ask its delegate (another weak reference of an object that obeys UITableViewDelegate/UITableViewDatasource). I want to display it. How many lines? How high is each row? Show something? If a class obeys UITableViewDelegate, some methods must be implemented (required) and some are optional (optional). Just think that you just use heavy keywords in objc and c#, but the meanings are different.