objective-c-blocks相关内容
我已在目标c代码中降低了block%s的速度: typedef void(^ActionStringDoneBlock)(ActionSheetStringPicker *picker, NSInteger selectedIndex, id selectedValue); typedef void(^ActionStringCancelBlock)(ActionSheetStringPic
..
如何用C#编写等效代码: typedef void (^MethodBlock)(int); - (void) fooWithBlock:(MethodBlock)block { int a = 5; block(a); } - (void) regularFoo { [self fooWithBlock:^(int val) { NS
..
我一直在研究多线程、回调、调度队列,以同步和异步的方式... 我研究得越多,我就越困惑和沮丧到了我似乎永远无法理解的地步。请有人能把我引向正确的方向开始吧。到目前为止,我发现的大多数信息都是关于IS的功能和优势。我真正想知道的是,当使用回调和单线程进行异步操作时,函数如何立即返回。 [这里]的(http://nathansjslessons.appspot.com/lesson?id=1085)我
..
我想我这里可能有一个异步问题,这很刺痛,因为我以为我已经解决了它。无论如何,我正在进行一系列Web服务调用,如下所示: //get the client data __block NSArray* arrClientPAs; [dataManager getJSONData:strWebService withBlock:^(id results, NSError* error) {
..
..
有没有办法在延迟后调用带有原始参数的块,例如使用 performSelector:withObject:afterDelay: 但带有像 int/double/float? 解决方案 我想你正在寻找 dispatch_after().它要求您的块不接受任何参数,但您可以让块从本地范围捕获这些变量. int 参数1 = 12;浮动参数2 = 144.1;//延迟执行我的块 10 秒.dis
..
Objective-C 中的 __block 关键字究竟是什么意思?我知道它允许您修改块内的变量,但我想知道... 它究竟告诉编译器什么? 它还有其他作用吗? 如果仅此而已,那么为什么首先需要它? 它在任何地方的文档中吗?(我找不到). 解决方案 它告诉编译器任何被它标记的变量在块内使用时都必须以特殊方式处理.通常,块中也使用的变量及其内容会被复制,因此对这些变量所做的任何修改
..
在使用 GCD 时,我们希望等到两个异步块执行完毕后再继续执行下一步.最好的方法是什么? 我们尝试了以下方法,但似乎不起作用: dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^ {//块 1});dispatch_async(dispatch_get_global_queue(DISPA
..
我正在尝试使用objective-c 块实现二进制搜索.我正在使用函数 indexOfObject:inSortedRange:options:usingComparator:.这是一个例子. //一堆数据.NSUInteger 数量 = 900000;//要搜索的数字.NSNumber* number = [NSNumber numberWithInt:724242];//创建一些数组.NSM
..
如何让一个block同步执行,或者让函数在return语句之前等待handler,这样数据才能从block传回来? -(id)performRequest:(id)args{__block NSData *data = nil;[xyzclass requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL 授权
..
我想创建一个函数来检查 user_id 是否已经在我的数据库中. class func checkIfUserExsits(uid:String) ->布尔 {userRef.childByAppendingPath(uid).observeSingleEventOfType(.Value, withBlock: { (snapShot: FDataSnapshot!) -> Void in如果
..
是否有替代“委托"的方法将数据从一个控制器传回另一个控制器? 实现一个委托似乎需要做很多工作,只是为了将结果从子控制器传回给父控制器.没有别的方法吗?“块"是一个答案吗?如果是这样,一些示例代码会很棒. 解决方案 你可以使用很多方法: 调用超级控制器的方法,可能需要强制转换 通知 简单的Key-Value-Observing 核心数据 1 的示例. 你的 Ma
..
我有一个从 URL 检索 JSON 并通过协议/委托模式返回数据的类. MRDelegateClass.h #import @protocol MRDelegateClassProtocol@选修的- (void)dataRetrieved:(NSDictionary *)json;- (void)dataFailed:(NSError *
..
我环顾四周,但在互联网上找不到这个,也没有在 Apple 文档的任何地方找到,所以我猜它不存在. 但是有没有 iOS4 块等效的 API: [button addTarget:self action:@selector(tappy:) forControlEvents:UIControlEventTouchUpInside]; 我想这可以使用一个类别来实现,但由于极端懒惰,我不想自己写这
..
我被困住了! 我正在尝试创建自定义模式对话框.我希望它使用块作为完成处理程序来执行类似于 NSSavePanel 的操作. 我只复制了我认为需要的重要片段. @implementation ModalWindowController- (void)makeKeyAndOrderFront:(id)sendermodalToWindow:(NSWindow*)window源矩形:(NS
..
我在纯 iOS5/ARC 环境中工作,所以我可以根据需要使用 __weak 引用.在许多情况下,我确实在块中引用了 ivars,最值得注意的是,移动视图的动画块,例如,我的视图控制器类的属性. 我的问题: 在一个块中最简单的 ivars 使用中,我是在创建一个引用循环吗?我是否需要使用 __weak self/strong self 技术每次我编写一个操作包含对象的实例变量的块?
..
我需要知道何时重新加载 UICollectionView 以便之后配置单元格(因为我不是单元格的数据源 - 否则已经完成了......) 我尝试过诸如 之类的代码 [self.collectionView reloadData];[自配置单元];//轰隆隆!细胞为零 我也尝试过使用 [self.collectionView performBatchUpdates:^{[self.co
..
我正在开发一个在后台跟踪用户位置的示例应用程序,但我不想让定位服务始终处于启用状态,但我的计时器中的某些内容无法正常运行. 我的想法是,每隔 x 分钟,服务就会继续,当它有一个正确的新位置时,它会再次发布,现在设置为 10 秒,仅用于测试.(显着的 LocationChange 不是诀窍,不够准确) 我搜索了很多(iOS 开发中心 + StackOverflow)并找到了“新的"后台定
..
假设我在 UIViewController 子类中有以下方法: - (void)makeAsyncNetworkCall{[self.networkService performAsyncNetworkCallWithCompletion:^{dispatch_async(dispatch_get_main_queue(),^{[self.activityIndicatorView 停止动画
..
我在应用商店中有一个使用 Touch ID 的 iPhone 应用.如果启用了 Touch ID,则用户通过它进行身份验证,否则用户需要输入他的 PIN 才能登录应用程序. IOS 10.1 发布后,当我查看崩溃报告时,崩溃次数增加了.从崩溃报告中,它指向 [UIApplication _cachedSystemAnimationFenceCreatingIfNecessary:] 并且当我
..