Bir blok içinde bir örnek değişkeni kullandığımda, en iyi uygulama ondan önce __blok eklemektir, bu yüzden kapsam eş zamansızdır ve kullanabileceğim sonra Örnek:İşlev parametrelerini blokta kullanmalı mıyım yoksa bunları __blok değişkenleri olarak tutmalı mıyım
-(void) someFunctionWithParam:(NSString *) nameIWillUseInBlock {
[self functionWithCallback:^(NSString *string) {
NSString *stringWithString = [NSString stringWithFormat:@"%@%@", nameIWillUseInBlock, @"with bla"];
//Here Ill do somthing with this string
}];
}
Ya şöyle bir __block örneği olarak param tutmalı:
-(void) someFunction {
__block NSString *nameIWillUseInBlock = @"Some name"; //Here ill use the __block
[self functionWithCallback:^(NSString *string) {
NSString *stringWithString = [NSString stringWithFormat:@"%@%@", nameIWillUseInBlock, @"with bla"];
//Here Ill do somthing with this string
}];
}
Benim soru ne işleve geçirilen params hakkında, çok gibi kullanabilirsiniz edilir:
-(void) someFunctionWithParam:(NSString *) nameIWillUseInBlock {
__block NSString *asyncNameIWillUseInBlock = nameIWillUseInBlock;
[self functionWithCallback:^(NSString *string) {
NSString *stringWithString = [NSString stringWithFormat:@"%@%@", asyncNameIWillUseInBlock, @"with bla"];
//Here Ill do somthing with this string
}];
}
ve ben bir __block örneği olarak params'ı değil kullanmalısınız, nasıl kapsam cadı parametreler geçerli kapsama geçmesi mi biliyor?
Teşekkürler.
gösterecektir
"Depolama Paylaşma __block Değişkenler kullan" en iyi uygulama değildir. Sadece '__block' ihtiyacınız olacak eğer blogu – dan