Ich habe eine Methode, die einen Block und eine andere Methode gibt, die das Verfahren verwendet:iOS: Methode gibt einen Block zurück, dann wird der Block in Array gespeichert, wann sollte ich es kopieren?
- (MyBlock)blockForParameter:(id)param
{
MyBlock theBlock = ^(){NSLog(@"Param: %@", param);};
return theBlock;
}
- (void)methodUser
{
MyBlock theBlock = [self blockForParameter:something];
[self.allBlocks addObject:theBlock];
}
Die Frage ist, wann soll ich den Block kopieren? Sollte ich den Block kopieren, wenn ich ihn in blockForParameter
zurückgebe, oder sollte ich ihn kopieren, wenn ich ihn zum Array hinzufüge?
Dank
müssen Sie es sogar in diesem Fall kopieren? Ein neuer 'MyBlock' wird jedes Mal erstellt, wenn Sie diese Funktion aufrufen, oder? Ich bin kein Experte mit Blöcken, aber das ist, was ich denke passieren würde. – Fonix