私は、グランドセントラルディスパッチメソッドを使用して、キュー内のアプリのいくつかの実行を行います。私は、そのキューの計算でボタンのフレームを決定します。私は、私のアプリが自分のscrenを再描画し、回転後に新しいフレームを計算したいと思う。ここで私は何をすべきかからいくつかの擬似コードの説明は次のとおりです。ブロックの名前を付けて別の方法で呼び出す方法は?
CGFloat a=123, b=24;
dispatch_async(drawingQue, ^{
//needed loops to get the total button count-how many ones will be drawn et..
for(int x=0;x<someCount<x++){
for(int y=0;y<anotherCount;y++){
//needed frame&name ect assingments
button.frame= CGRectMake(x+y, x-y, a, b);
[button setTitle:@"abc"];}}
};
ここで私が何をしたい私は
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
}
デリゲートメソッドでそれをこのブロックに名前を付けて再使用する方法、ありますか?たとえば、回転が風景の場合は、123の代わりにa=234
を使用します。助けてください。事前のおかげで..
それ自体がivarで保持されているブロックの 'self'または任意のivarを参照すると、保持サイクルが発生し、リークが発生することに注意してください。サイクルを壊すには、 '__block id blockSelf = self;'ポインタを使ってivarsを参照するか、_before_ 'dealloc'ブロックを解放するようにアレンジします。 –