雇用主のプライベートAPIを使用する必要があり、次のようなメソッドがあります。
- (void)login:(NSString *)username password:(NSString *)password delegate:(void(^)(NSString *))delegate;
どういう(void(^)(NSString *))delegate
意味ですか?
これはパラメータですが、ここに何が必要かわかりません。
雇用主のプライベートAPIを使用する必要があり、次のようなメソッドがあります。
- (void)login:(NSString *)username password:(NSString *)password delegate:(void(^)(NSString *))delegate;
どういう(void(^)(NSString *))delegate
意味ですか?
これはパラメータですが、ここに何が必要かわかりません。
これはブロックポインタです。ブロックに慣れていない場合は、基本的に、匿名関数をパラメーターとしてインラインで割り当てることができます。ここでの署名は、ブロックがNSStringをパラメーターとして受け取り、何も返さないことを示しています。次のように使用します。
- (void)login:(NSString *)username password:(NSString *)password delegate:(void(^)(NSString *))delegate;
[someReceiver login:yourUsername password:yourPassword delegate:^(NSString *aString)
{
// This is the block (annonymous function). Do something with the aString paramter
}];
それはブロックを意味します-それは本質的にクロージャです(ラムダ関数、あなたがそれを何と呼んでも)-AppleのC言語への追加。この場合、オブジェクトを返し、唯一の引数としてvoid
受け入れます。NSString