草庐IT

while-equivalent

全部标签

swift - 如何在 Swift 的 while 循环条件下检查 `nil`?

如何在Swift的while循环中检查nil?我在这方面遇到错误:varcount:UInt=0varview:UIView=selfwhileview.superview!=nil{//Cannotinvoke'!='withanargumentlistoftype'(@lvalueUIView,NilLiteralConvertible)'count++view=view.superview}//Herecomescount...我目前正在使用Xcode6-Beta7。 最佳答案 while的语法允许可选绑定(bind)。使用:

swift - 无法在模拟器 : An error was encountered while running (Domain = LaunchServicesError, 代码 = 0 中运行应用程序)

在配置文件出现问题后,我无法在模拟器中运行我的应用程序。我在Xcode6-beta4中进行快速编码。在证书配置文件出现问题之前这很好。我已经尝试清理构建。检查了xCode6-beta4的命令行以运行。检查构建部署,设置为7.0这样swift就不会提示兼容性修复了配置中的错误。 最佳答案 我通过重置模拟器修复了它:iOSSimulator>ResetContentsandSettings... 关于swift-无法在模拟器:Anerrorwasencounteredwhilerunning

ios - 在 Swift 中做 while 循环

如何在Swift中编写do-while循环? 最佳答案 这是Swift的repeat-while循环的一般形式repeat{statements}whilecondition例如,repeat{//takeinputfromstandardIOintovariablen}whilen>=0;这个循环将对n的所有正值重复。 关于ios-在Swift中做while循环,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

ios - fatal error : unexpectedly found nil while unwrapping an Optional values

这个问题在这里已经有了答案:Whatdoes"Fatalerror:UnexpectedlyfoundnilwhileunwrappinganOptionalvalue"mean?(16个答案)关闭6年前。我在Swift中使用了UICollectionView,但是当我尝试更改单元格标签的文本时出现了错误。funccollectionView(collectionView:UICollectionView!,numberOfItemsInSectionsection:Int)->Int{return5}funccollectionView(collectionView:UICollec

c# - C# 中 for(;;) 和 while (true) 的区别?

从句法上看,它们会无限循环,直到遇到break语句,但它们是否被编译成相同的东西?for稍微快一点是因为它没有要检查的条件吗?除了代码可读性之外,还有什么区别吗? 最佳答案 鉴于此输入:privatestaticvoidForLoop(){intn=0;for(;;){Console.WriteLine(n++);}}privatestaticvoidWhileLoop(){intn=0;while(true){Console.WriteLine(n++);}}...你得到这个输出:.methodprivatehidebysigst

c# - 这怎么可能 : OnPaint processed while in WaitOne

我有一个ManualResetEvent。有一次,我使用WaitOne等待那个事件。令我惊讶的是,我在WaitOne中收到了一个OnPaint事件。这种情况也经常发生。堆栈跟踪看起来像这样:我知道WaitOne会阻塞当前线程,并且在事件触发之前不允许执行任何其他代码。有人能解释一下这里发生了什么吗? 最佳答案 这是设计使然。CLR遵守单线程单元(STA)的契约(Contract)。GUI应用程序的主线程是Windows编程所要求的STA,Main()方法中的[STAThread]属性可确保这一点。STA线程的硬性规则是它必须泵送消息

C# 线程/异步 : Running a task in the background while UI is interactable

在了解了Async/Await和Threading之后,我仍然不确定将其应用于我的情况的正确方法。无论我尝试的变体如何,我的UI仍然挂起,因为我似乎没有异步调用我想要的函数,此外,我的解决方案实际上可能需要线程。我想做什么:我有一个WPF应用程序,上面有一个按钮,我想启动一个操作,该操作仍然允许通过UI或其他方式与程序进行交互。一旦满足在此函数之外确定的条件,该函数就应该结束。对我来说,这听起来很标准,但我觉得我误解了一些东西,而且我实现不正确。我现在拥有的:privateasyncvoidstart_button_Click(objectsender,RoutedEventArgse

C# 拖放 : Show the dragged item while dragging

我正在使用Windows窗体在C#中构建桌面应用程序。我有一个自定义控件,我希望能够将它拖放到我的应用程序中(而不是外部)。现在我正在使用通常的DoDragDrop/OnDragOver/OnDragDrop方法来实现它。有什么方法可以在控件被拖来拖去时连续绘制控件——有点像您在JQuery的拖放中看到的那样?我希望实际控件留在原地,但我想在用户拖动它时绘制其外观的副本。理想情况下,该副本甚至应该是半透明的,但这更像是“拥有它就好了”。我能想到的唯一方法是将绘制代码放在主窗体的OnPaint方法中,但这似乎是一个不够优雅的解决方案。还有其他想法吗?如果控件将自己描绘成位图,事情会更容易

c# - 字典 Keys.Contains 与 ContainsKey : are they functionally equivalent?

我很想知道这两者在所有情况下是否在功能上都是等价的。是否有可能通过更改字典的默认比较器来使这两者在功能上有所不同?另外,难道Keys.Contains几乎肯定会变慢吗? 最佳答案 这两个函数做的事情完全一样。Keys.Contains存在是因为Keys是一个ICollection,它定义了一个Contains方法。标准Dictionary.KeyCollection实现(类,而不是接口(interface))将其定义为boolICollection.Contains(TKeyitem){returndictionary.Contai

c# - .net 构造 for while 循环超时

我通常使用while循环来继续尝试某些操作,直到操作成功或超时结束:boolsuccess=falseintelapsed=0while((!success)&&(elapsed我知道有几种方法可以实现这一点,但基本要点是我反复尝试一些sleep操作直到成功,或者我睡得太久了。是否有一个内置的.net类/方法/等来避免我到处重写这个模式?也许输入是一个Func(ofbool)和超时?编辑感谢所有贡献者。我选择了sleep()方法,因为它最不复杂,而且我完全反对复杂性=)这是我的(仍然需要测试的)实现:publicstaticboolRetryUntilSuccessOrTimeout(