草庐IT

scoped_variable

全部标签

flutter - 使用 Scoped Model 在 Flutter 中维护应用程序状态

我需要帮助为我的应用程序创建架构。我正在使用Flutter和scoped_model来维护状态。这是一个具有登录功能的应用程序,在应用程序的一部分显示新闻,并显示照片库等。我想将整个事情分成单独的模型。保存登录状态(如用户名、token、名称等)的LoginModel。包含从API检索到的新闻的NewsModel。GalleryModel保存照片名称等。我不确定这是否是使用scoped_model维护状态的最佳实践。例如,如果一个文本框同时依赖于LoginModel和NewsModel,该怎么办?我不确定,但我想不可能从两个单独的模型中检索状态。此外,我维护单独的模型以保持状态的主要原

flutter - Scoped Model、BLoC 模式、StreamBuilder 和 Inherited Widget(或 Model)我应该选择哪一个,为什么?

我想我现在至少对如何使用BLoC、StreamBuilder有了一个模糊的概念和我的应用中的InheritedWidget(或Model)(没什么特别的,但对我来说这需要时间),但是使用ScopedModel我有一种生存危机:我觉得他们大多可以做同样的事情,或者至少我可以用他们中的任何一个取得相同的明显结果,但我没有能力理解何时和为什么一个比另一个好。 最佳答案 范围模型与Bloc简而言之:如果您有小型应用程序,请使用范围模型,因为bloc往往会使它复杂化,如果您有大型应用程序,请使用bloc。详细解释见这篇文章:blocvssco

kotlin - 如何在使用当前父 Scope 的 `suspend fun` 中启动 Kotlin 协程?

如何从挂起函数启动协程并让它使用当前作用域?(这样Scope在启动的协程也结束之前不会结束)我想写一些类似下面的东西——importkotlinx.coroutines.*funmain()=runBlocking{//this:CoroutineScopego()}suspendfungo(){launch{println("go!")}}但这有一个语法错误:“Unresolvedreference:启动”。看来launch必须以下列方式之一运行——GlobalScope.launch{println("Go!")}或者runBlocking{launch{println("Go!"

kotlin - 委派给初始化属性时出现 "Variable must be initialized"错误

objectFoo:CharSequencebyFoo.X{valX=""}产生Variable'X'mustbeinitialized但确实如此!并且代码应该翻译成类似objectFoo:CharSequence{valX=""overridevallengthget()=Foo.X.lengthoverrideoperatorfunget(index:Int):Char=Foo.X[index]overridefunsubSequence(startIndex:Int,endIndex:Int)=Foo.X.subSequence(startIndex,endIndex)}效果很好

kotlin - 编译错误 : Smart cast to '<type>' is impossible,,因为 '<variable>' 是一个局部变量,由变化的闭包捕获

为了简化我的实际用例,假设我想在一个列表中找到最大的数字:varmax:Int?=nulllistOf(1,2,3).forEach{if(max==null||it>max){max=it}}但是,编译失败并出现以下错误:Smartcastto'Int'isimpossible,because'max'isalocalvariablethatiscapturedbyachangingclosure为什么更改闭包会阻止智能转换在此示例中工作? 最佳答案 通常,当在lambda函数闭包中捕获可变变量时,智能转换不适用于该变量,无论是在

environment-variables - 如何在 Kotlin 中读取环境变量?

我想从我的Kotlin应用程序中的环境变量中获取某个值,但是我在corelibraries中找不到任何有关读取环境变量的信息文档。我希望它低于kotlin.system但真的没有那么多。 最佳答案 通过在kotlin中使用elvis操作符,很容易得到一个环境值(如果存在的话)或者一个默认值:varenvVar:String=System.getenv("varname")?:"default_value" 关于environment-variables-如何在Kotlin中读取环境变量?

android - Kotlin - 如何在 "lateinit"和 "nullable variable"之间做出决定?

我对lateinit和可为空的变量感到困惑,哪一个用于变量。lateinitvarc:Stringvard:String?=nullc="UserDefinedTarget"//ifnotaddedinitialisationforcthanthrowsUninitializedPropertyAccessExceptionif(c=="UserDefinedTarget"){//dosomestuff.}//notthrowsanyexceptionwhetherdisinitialiseornot.if(d=="UserDefinedTarget"){//dosomestuff}

android - 错误 : cannot find symbol variable abc_ic_ab_back_mtrl_am_alpha

我使用New>Fragment>Fragment(Blank)在我的AndroidStudio项目中添加了一个Fragment。结果当我尝试运行时,项目无法编译,因为它无法解析R.drawable.abc_ic_ab_back_mtrl_am_alphaintoolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);有什么办法解决这个问题吗?看来我也无法访问android:buttonTint 最佳答案 在23.2.0支持库中更改了资源名称。修改abc_ic_

android - "R cannot be resolved to a variable"?

这个问题在这里已经有了答案:DevelopingforAndroidinEclipse:R.javanotregenerating(64个回答)关闭8年前。在Eclipse中,我从源代码创建了一个项目,现在它显示错误-“R无法解析为变量”。从我在这里找到的内容来看,我已经清除并重建了项目,但R文件仍然没有出现在/gen文件夹中。有什么想法吗? 最佳答案 别担心。首先你可以清理项目,然后运行项目。如果这不起作用,请点击以下链接:这是解决此问题的最佳方法:[Android开发-我的R.Java文件在哪里?][2]R.javanotreg

variables - 如何在 Dockerfile 中定义变量?

在我的Dockerfile中,我想定义以后可以在Dockerfile中使用的变量。我知道ENV指令,但我不希望这些变量成为环境变量。有没有办法在Dockerfile范围内声明变量? 最佳答案 您可以使用ARG-见https://docs.docker.com/engine/reference/builder/#argTheARGinstructiondefinesavariablethatuserscanpassatbuild-timetothebuilderwiththedockerbuildcommandusingthe--bu