我试图了解如何在iOS上使用块。我读过Apple的文档但是,像往常一样,它们含糊不清,并且没有提到几个重要的信息。我也搜索过没有成功。这就是我想要做的练习,以便理解这一点。
我创建了一个块来读取字符串并将字符串与之前的读取进行比较。如果字符串不相同,则返回YES,如果它们相同,则返回NO。
这就是我的做法:
我在.h
上宣布了这一点BOOL (^differentStrings)(void);
我在.m中,在viewController
中的viewDidLoad中声明了这个__block NSString * previousString;
__block NSString * currentString;
differentStrings = ^(void){
currentString = [self getString];
NSLog(@"%@", currentString); // not printing anything on console
if (![currentString isEqualToString:previousString]) {
previousString = currentString;
return YES;
} else {
return NO;
}
};
这就是我的用法:我有一个线程可以做到这一点:
if (differentStrings)
NSLog (@"strings are different);
这些是我遇到的问题:
你们能帮助我吗?
答案 0 :(得分:15)
答案 1 :(得分:4)