1

我正在使用以下代码来操作我的str字符串:

NSString *pattern = @"\\['(.*?)',(.*?),(.*?),(.*?),(.*?)\\]";
NSRegularExpression *regex = [NSRegularExpression
                              regularExpressionWithPattern:pattern
                              options:NSRegularExpressionCaseInsensitive
                              error:nil];
[regex enumerateMatchesInString:str
                        options:0
                          range:NSMakeRange(0, [str length])
                     usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop){
                         if (result != nil) 
                         {
                                 // do something with matched string
                         }
                 }];

我如何知道块何时处于最后一次迭代中,以便我可以相应地同步我的程序?

谢谢。

4

2 回答 2

2

尽管存在我们经常与异步操作相关联的块,但这些枚举方法不会异步发生。它同步运行。你应该没事。

于 2013-04-24T13:38:29.177 回答
1

您可以在正则表达式之后立即同步您的程序:

[regex enumerateMatchesInString: ... ];
[self syncMyProgram];
于 2013-04-24T13:40:33.587 回答