草庐IT

scroll-blocking

全部标签

ios - 在 NSArray 中存储带有参数的 block

我知道我可以像block一样定义一个属性,比如:self.myProperty=^(){//blablabla};将它存储在一个数组上做NSArray*arrayOfBlocks=[[NSArrayalloc] initWithObject:[self.myPropertycopy]];然后使用执行它void(^myblock)()=[arrayOfBlocksobjectAtIndex:0];myblock();但是如果block有参数呢?我的意思是,像这样的block:self.myProperty=^(idmyObject){//blablabla};我想要的是能够保持这条线不变

ios - Facebook iOS SDK 3.6 startWithGraphPath 完成 block 未执行

我已经与Facebook集成,这样我就可以将状态发布到我的供稿中。我的一些代码基于publishtofeeddevelopertutorial.当从我的iOS应用程序运行以下图形API请求时,请求的完成block从未被调用,并且XCode调试日志中没有出现错误。[FBRequestConnectionstartWithGraphPath:@"me/feed"parameters:paramsHTTPMethod:@"POST"completionHandler:^(FBRequestConnection*connection,idresult,NSError*error){if(err

ios - 返回没有 typedef 的 block 的 Objective-C 方法的语法/签名是什么?

我定义了一个block,它接受一个NSString并为该字符串返回一个NSURL:id(^)(idobj)我使用typedef使它成为一个带有名称的block:typedefid(^URLTransformer)(id);而下面的方法是行不通的:+(URLTransformer)transformerToUrlWithString:(NSString*)urlStr{returnBlock_copy(^(idobj){if([objisKindOfClass:NSString.class]){NSString*urlStr=obj;return[NSURLURLWithString:[

ios - Core-Plot:从 block 内调用 Plot 或 Graph 上的 reloadData 不起作用

我希望能够在运行时更新/重新加载iOS设备上的ScatterPlot。具体来说,我记录音频输入,做一些有趣的事情并将结果作为一个简单的NSNumber值放入一个数组中。每当发生这种情况时,都会在我想要更新的Plot上调用reloadData,但遗憾的是,完全没有任何react。基本上,我按照此处的答案中所述进行操作:realtimeplottingoniPhoneusingcoreplot?.它只是不起作用,所以我认为我犯了一些愚蠢的错误。这是相关的方法:-(NSNumber*)numberForPlot:(CPTPlot*)plotfield:(NSUInteger)fieldEnu

ios - 在 block 内访问 BOOL

我正在尝试在block中使用BOOL设置标志。我这样声明BOOL:@property(nonatomic)BOOLflag;在block内:__strongtypeof(self)strongSelf=weakSelf;if(strongSelf->_flag)我的问题是,如果我这样做:__weaktypeof(self)weakSelf=self;if(weakSelf->_flag)我会得到一个错误:"dereferencinga__weakpointerisnotalloweddietopossiblenullvaluecausedbyaracecondition,assigni

ios - 为什么访问 self 的属性不会在 self 拥有的 block 中引发编译器警告

我对内存管理/保留周期有点困惑。这是一个简单的类:@interfaceTest:NSObject{NSObject*objectA;}@property(nonatomic,strong)NSObject*objectB;-(void)methodA;@end假设我有一个测试实例拥有的block。在这个block我做:objectA=nil;我得到一个编译器,说它正在这个block中捕获self,这将导致保留循环。为什么?我在这里看不到自己。那么如果我这样做:self.objectB=nil;没有警告!如果有的话,我应该在这里得到警告。另外,如果我这样做:[selfmethodA];我

ios - 我如何在 GCD 中将一个 block 添加到调度队列的前面?

我想我读过一次关于在GrandCentralDispatch中将block添加到调度队列前面的方法(这样它就不会等待其他待处理的block)。但我在GCDReference中找不到它.有谁知道这是否可能,如果可能的话如何? 最佳答案 没有公共(public)API来“跳转”队列,也没有从队列中删除或重新排序先前入队但尚未执行的block。如果你只是想让一个block以比其他block更高的优先级执行,你可以将它提交到高优先级全局并发队列,但是这样做自然会失去使用特定队列提供的任何并发保证。除此之外,您必须自己实现此功能。做到这一点的

ios - 使用 [UIViewControllerTransitionCoordinator animateAlongsideTransition :completion:] in a modal presentation, 时,不会调用动画 block

我有一个UIViewController,它通过Storyboard中的模态转场呈现(嵌入在UINavigationController中)。我正在尝试将键盘外观与模态演示一起制作动画(这的逻辑超出了问题的范围)。我在viewWillAppear:中使用[self.transitionCoordinatoranimateAlongsideTransition:completion:]来执行此操作,但我注意到从未调用动画block.所以一些日志让我看到唯一一次在新创建模态视图Controller上调用动画block是在viewDidLoad::>.@implementationMyMod

ios - NSTimer Category + Blocks 替换选择器的实现

我对block和Objective-C很陌生,我正在尝试使用两者来编写我的第一个类别。我的想法是在NSTimer上创建一个类别,它将接收一个block作为参数,这个block将用于选择器调用。现在我有这个。//NSTimer+Additions.h#importtypedefvoid(^VoidBlock)();@interfaceNSTimer(NSTimer_Additions)+(NSTimer*)scheduleTimerWithTimeInterval:(NSTimeInterval)theSecondsrepeats:(BOOL)repeatsactions:(VoidBl

iPhone :- Scroll down automatically on button click

我在这里搜索了很多,但我做不到。基本上,我想在下方滚动,即向下滚动,以检查我正在使用的优惠券图像是否可用。这是通过单击按钮启动的。这就是我创建ScrollView的方式:UIScrollView*scrollView=[[UIScrollViewalloc]initWithFrame:CGRectMake(0,20,320,440)];scrollView.contentSize=CGSizeMake(320,500);[self.viewaddSubView:scrollView]; 最佳答案 -(void)movedown{[s