草庐IT

dispatch_main_queue_callback

全部标签

ios - 串行队列上的 dispatch_async 和 dispatch_sync 之间的区别?

我创建了一个这样的串行队列:dispatch_queue_t_serialQueue=dispatch_queue_create("com.example.name",DISPATCH_QUEUE_SERIAL);这样调用dispatch_async有什么区别dispatch_async(_serialQueue,^{/*TASK1*/});dispatch_async(_serialQueue,^{/*TASK2*/});dispatch_sync在这个串行队列上这样调用?dispatch_sync(_serialQueue,^{/*TASK1*/});dispatch_sync(_

ios - iPhone - Grand Central Dispatch 主线程

我一直在我的应用程序中成功使用grandcentraldispatch,但我想知道使用这样的东西的真正优势是什么:dispatch_async(dispatch_get_main_queue(),^{...dostuff甚至dispatch_sync(dispatch_get_main_queue(),^{...dostuff我的意思是,在这两种情况下,您都在触发一个要在主线程上执行的block,也就是应用程序运行的位置,这无助于减少负载。在第一种情况下,您无法控制block何时运行。我见过在你发射它们后半秒执行block的情况。第二种情况,类似于[selfdoStuff];对吗?不知

ios - NSOperation 与 Grand Central Dispatch

我正在学习iOS的并发编程。到目前为止,我已经阅读了关于NSOperation/NSOperationQueue的内容和GCD.在GCD上使用NSOperationQueue的原因是什么?反之亦然?听起来GCD和NSOperationQueue都从用户那里抽象出了NSThreads的显式创建。但是,我不清楚这两种方法之间的关系,因此请提供任何反馈! 最佳答案 GCD是一种基于C的低级API,可以非常简单地使用基于任务的并发模型。NSOperation和NSOperationQueue是做类似事情的Objective-C类。NSOpe

flutter - 在 Flutter 的 main/App 类中调用方法?

我需要从另一个小部件调用App类。我怎样才能获得对应用程序类的引用?我试过这样的事情:静态应用myApp=this;但是没有定义“this”,也没有定义“self”。有没有办法制作“App”变量或将app对象放入某种全局变量中?编辑:更清楚一点:我使用选项卡式导航风格的应用程序,并希望显示一个全屏旋转指示器(ModalProgressHud),表明正在从后端加载某些内容。现在,当我将微调器代码添加到某些屏幕时,当显示微调器时,选项卡仍然可见且可点击。因此,将旋转器代码移动到主应用程序文件的想法,围绕着标签栏的创建。voidmain()=>runApp(newMyApp());class

android - Flutter:如何打开 main.dart

在installationguide的帮助下这个解决方案:HowtocreateanewprojectinFlutter,我在flutter中为iOS和Android兼容平台创建了一个示例(默认/演示)项目。默认项目(代码)运行良好。现在,我想根据本文档指南更新项目代码:GetStarted:TestDrive,一个名为main.dart的文件是项目的源文件和里面的代码,是主要的源代码。我的问题是-如何打开main.dart?哪个编辑器(Xcode/AndroidStudio或任何其他工具)可以帮助打开这个文件?我尝试双击该文件,但它显示一条消息:“应转换旧图像”。

dart - 将主 Flutter 脚手架(AppBar +TabBar + PopupMenu、Drawer、main Body)分布在单独的较小文件上?

'阿洛,我的主文件有多达1000行代码,我忍不住认为我可以通过将Scaffold分成3或4个.dart文件来节省时间。这可能吗?由于所有链接和设计参数,在AppBar和Drawer之间我已经有多达500多行代码。我想提取这段代码,而不是在处理主体时不得不不断地滚动浏览它。每当我试图取出抽屉并将其放入单独的文件中时,到处都会出现错误。“动态”和“小部件”以及返回类型等问题。什么可以把脚手架拿出来引用另一个文件?child:newScaffold(appBar:newAppBar(bottom:newTabBar(tabs:[.....]),actions:[newPopupMenuBut

timer - 如何将 onTab 信号从嵌套的有状态小部件发送到 main.dart

在我的main.dart中,我有一个计时器和GestureDetector。GestureDetectoronTap等处理与_handleUserInteraction()的用户交互。每次用户点击应用程序时都会重置计时器。我的问题是我需要将onTab(或类似)信号从form_a.dart发送到home.dart。ma​​in.dartPageView(带bottomNavigationBar)(home.dart)(带计时器)第1页第1页摘要(使用ListView)(page_1.dart)ListTile1onTabListViewA(a.dart)FormA(form_a.dart

redux - flutter redux 中有没有一种方法可以在分派(dispatch)另一个 Action 时分派(dispatch)一个 Action ?

我想实现一个成就系统。我将flutter_redux用于我的应用程序,依此类推,我已经实现了所有逻辑并且运行良好。但是现在我在我的“rootscreen”上发送一个Action(CheckForAchievementsAction),但这带来的效果是,每次发送这个Action时,都会因为“statechange”而flutter重建所有屏幕。您有什么想法或建议可以解决这个问题吗?也许我可以在另一个Action或类似的东西中发送这个Action?因为成就取决于“使用应用程序”...... 最佳答案 只有当组件的View模型发生变化时,

dart - 在 main 中获取当前上下文

我正在使用firebase_messaging对于推送通知……我是这样做的:Futuremain()async{FirebaseMessaging_firebaseMessaging=newFirebaseMessaging();_firebaseMessaging.configure(onMessage:(Mapmessage){print(message['route']);//globals.firebase(context,message['route']);print('onmessage$message');},onResume:(Mapmessage){print('on

dart - 如何决定 main.dart 文件中的默认导航以及如何根据条件检查更改它?

我正在尝试实现用户登录session。我愿意跳过登录屏幕并愿意导航到主屏幕。我创建了两个屏幕并实现了共享首选项来存储用户响应。我可以保存并打印回来。我在if条件下遇到问题,我正在尝试检查从用户检查函数返回的bool值,该函数检查保存的共享首选项值并根据该值返回true或false。{returnnewMaterialApp(home:newScaffold(body:((checkUserAndNavigate(context))==true)?newHomeScreen():newLoginScreen(),),}//CheckifuserloginissavedFuturechec