1

私は3つの方法を持っており、すべてを1つずつ完全に実行したいと思っています。

それはおそらくブロックを使用して行われますが、私は独自のブロックを作成する方法を学ぶことができません。またはこれを達成する他の方法はありますか?

私はシナリオを持っています、

また、ブロックなしの同じシナリオとすべてがios6で正常に実行されていますが、それより低いOSは機能していません

[self getIndex];
[self expandrows]; //I want this expandrows to be called only after everything in getIndex is finished.

-(void)getIndex
    {
     [self didSelectRowAtIndexPath:indexPath];
     //Once this didselect is completed execution than after only i want to start this loop
            for (int index = 0; index < [tableView numberOfRowsInSection:0]; index++)
           {
                NSMutableDictionary *aMutDicCur = [self.model itemForRowAtIndexPath:[NSIndexPath indexPathForRow:index inSection:0]];
                if([[aMutDicCur valueForKey:@"CategoryId"] intValue] == 4)
                {
                    indexPath = [NSIndexPath indexPathForRow:index inSection:0];
                    break;
                }
           }

    //After this loop finishes i need to again call one other method
    }

私の知る限り、ブロックは非同期です。その場合

4

1 に答える 1

3

これを[selfexpandrows]と呼びます。呼び出しである2番目のメソッド呼び出しを終了した後

インデックスメソッドを取得します。

于 2012-12-14T06:31:42.287 に答える