objective-c-blocks相关内容
我正在创建一种方法,用于检查用户是否有已经注册到该应用程序的朋友.但是,当我尝试从此块中返回时,出现编译器错误,提示:Incompatible block pointer types sending 'BOOL (^)(__strong id, NSError *__strong)' to parameter of type 'PFIdResultBlock' (aka 'void (^)(__s
..
我正在尝试定义此方法 - (void)backgroundFetchWithCompletion:(void(^)(UIBackgroundFetchResult))completionHandler; 但是我在UIBackgroundFetchResult上遇到一条错误,说只允许使用没有类型的参数列表,我正在按照本教程和本解决方案 在执行完某些操作后,您必须调用列表中的一个.
..
我正在尝试在我的firemonkey应用程序中执行后台获取. 到目前为止,我的perfromFetchWithCompletionHandler被调用并下载新信息. 问题是当我完成提取操作并需要调用completionHandler代码块时,应用程序挂起并且没有任何异常(至少可以读取) 设置: TBackgroundFetchResultHandlerC = procedu
..
我正在使用CoreLocation的地理编码器来获取多个地图项的CLLocation坐标.地理编码器会在每个项目完成时调用一个完成块. 当所有包含异步地理编码器调用的全部完成后,如何创建类似的块功能? (我可以使用手动计数器.但是必须有一个更优雅的解决方案) 到目前为止,这是我的地理编码功能.它将遍历一系列位置项,并为每个位置项启动新的地理编码过程. -(void)geoCode
..
我的工作是:我的class1(称为方法,并且期望llamda)-> class2(也称为方法并等待调用)-> class3(最近该类查询JBoss服务器AFNetworking).并使用方法AFNetworking: - (AFHTTPRequestOperation *) POST: (NSString *) URLString paramet
..
我有一个很大的jpeg图像,我想在我的opengl引擎中异步加载到图块中. 如果它在主线程上完成,但一切正常,一切都会很好. 当我尝试将图块加载到NSOperationBlock上时,尝试访问以前在主线程上加载的共享图像数据指针时,它总是崩溃. 必须使用后台操作才能获得某些东西,因为我假设我可以访问我在主线程上创建的内存部分. 我想做的是以下事情: @interface M
..
我已按照这些准则编写了一个递归块: > NSMutableArray *groups = [NSMutableArray arrayWithArray:@[@"group1", @"group2", @"group3", @"group4"]; __block CommunicationCompletionHandler completion = [^{ [groups remove
..
我是ARC的新手.我想在一个完整的块中调用一个方法,但得到警告:在此块中强烈捕获“自身"可能会导致保留周期..代码: - (void) handlerComplete { //... } - (void) loadData { ... operation.completeBlock = ^(NSInteger index) { [self handl
..
我有一个具有以下签名的方法,我想使用OCMock的存根功能进行测试: - (void)signInWithEmail:(NSString *)email andWithPassword:(NSString *)password andWithBlock:(void (^)(GNCustomer *customer, NSError *error))block 我该如何模拟它来处理返回的块
..
我有一个Kiwi规格文件,看起来像这样: #import "Kiwi.h" #import "MyCollection.h" SPEC_BEGIN(CollectionSpec) describe(@"Collection starting with no objects", ^{ MyCollection *collection = [MyCollection new];
..
我正在尝试从Swift调用方法. 该方法以用Objective-C编写的单例形式 头文件中的块: typedef void(^VPersonResultBlock)(Person *person, NSError *error); - (void)askForMe:(VPersonResultBlock)block; 这是该方法的实现. - (void)askForMe:(
..
当执行涉及Objective-C块的递归时,我在iOS应用程序中收到EXC_BAD_ACCESS信号.这是简化的代码: - (void)problematicMethod:(FriendInfo*)friendInfo onComplete:(void(^)(NSString*))onComplete1 { [self doSomethingWithFriend:friendInfo on
..
我要测试的方法的一部分如下: - (void)configureTableFooterView { dispatch_async(dispatch_get_main_queue(), ^{ self.tableView.tableFooterView = nil; if ([self.parser.resultSet isLastPage]) {
..
在许多有关如何使用积木和GCD的指南中,总是提到一个技巧:不要将自己保留在积木中. 详细信息是在定义块时,如果引用self或self的ivar,则self被该块保留.因此,解决方法是使用__block修饰符获取weakSelf或weakIvar. 但是不这样做有什么害处?如果该块保留了self,则应在该块完成时释放self(我对吗?).因此,最终自我的参考数量是平衡的.我知道如果sel
..
我正在创建一个barButton,当按下该按钮时,应该将UITableView的编辑模式设置为yes.这是我的代码: self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle: @"Edit"
..
我有一个使用在标题中定义的Block的类,如下所示: @property (readwrite, copy) RequestSucceededBlock succeededBlock; 属性succeededBlock已使用块设置.有没有一种方法可以用仍然调用原始代码的另一个代码块替代此代码块,类似于类继承? 我认为这是不可能的,因为应该使用类继承来表示类似的事情.还有可能吗?
..
我在委托方法内部创建了一个块,并使用它在另一个类中调用静态方法.即使启用了NSZombies,我也会收到EXC_BAD_ACCESS错误.关于类似问题,这里有几篇文章-我认为这是最接近的文章: ARC:从中获取EXC_BAD_ACCESS委托方法中使用的内部块 但是,到目前为止,我还没有发现有任何帮助.这是代码: @interface MyClass() @property (n
..
当我说“阻止"时,我的意思是: ^(int a) {return a*a;}; 此外,阻止仅受iOS4及更高版本支持. 这两者有什么区别? NSInvocation是给对象的消息(使用选择器),带有可选参数,该消息可以稍后(或现在)在对象外部执行.当前上下文(当然要记住复制,保留或引用的内容,如果移动的话). NSInvocation的优点是您可以有选择地复制/准确引用您所需要的
..
我想使用__block变量获取块中的值.但是当超出块范围时,__block变量似乎为nil.为什么会这样? NSString *fileName = [Tools MD5Encode:url]; __block NSString *filePath = nil; [fileList enumerateObjectsUsingBlock:^(id obj, NSUInt
..
任何人都可以解释该块语法如何工作吗? AStreamBuilder stream_builder = [ [ ^( void ) { // some more code.. return (NSInputStream *)[ NSInputStream inputStreamWithFileAtPath: some_path ]; } copy ] a
..