При написании метода, который принимает блок как аргумент, мне нужно сделать что-нибудь особенное, например, скопировать блок в кучу до его выполнения? Например, если бы у меня был следующий метод:
- (void)testWithBlock:(void (^)(NSString *))block {
NSString *testString = @"Test";
block(testString);
}
Должен ли я что-либо делать с block
перед его вызовом или при вводе метода? Или приведенный выше способ использования переданного блока? Кроме того, следующий способ вызова метода правильный, или мне нужно что-то сделать с блоком перед его передачей?
[object testWithBlock:^(NSString *test){
NSLog(@"[%@]", test);
}];
Где мне нужно скопировать блок? И как это было бы иначе, если бы я не использовал ARC?