草庐IT

main-folder

全部标签

cocoa /swift : Loop through names of folder in path

我目前正在使用swift编写osx应用程序,但我不知道如何遍历甚至获取特定路径中所有文件夹的名称。也许是fm.enumeratorAtPath的东西? 最佳答案 我使用enumeratorAtURL。下面是一些代码,展示了如何打印用户主目录中的目录的示例。ifletdirURL=NSURL(fileURLWithPath:NSHomeDirectory()){letkeys=[NSURLIsDirectoryKey,NSURLLocalizedNameKey]letfileManager=NSFileManager.defaultM

ios - 如何在 Swift 中退出 "DispatchQueue.main.asyncAfter"

我想在调用deinit时退出“DispatchQueue.main.asyncAfter”。subView.swiftDispatchQueue.main.asyncAfter(deadline:.now()+5.0){self.doSomething()}funcdoSomething(){ifself.subView.flgA==false{//errorbecausesubView'sdeinitisalreadycalled//...}}当ViewController执行_=self.navigationController?.popViewController(animate

ios - 在 Alamofire 请求后,我是否需要 DispatchQueue.main 来更新 UI?

我正在学习有关使用REST/web请求的教程。在本教程中,我们正在开发一个Pokedex应用程序,在该应用程序中,我们使用Alamofire从API中获取Pokemon详细信息,然后在我们的UI中显示该数据。相关代码如下:typealiasDownloadComplete=(Bool)->()//ModelclassfuncdownloadPokemonDetails(completed:@escapingDownloadComplete){Alamofire.request(_pokemonURL).responseJSON{(response)invarsuccess=trueif

ios - 为什么我的代码只能在 DispatchQueue.main.async block 内运行?

这个问题在这里已经有了答案:CodeonlyworkswithinaDispatchQueue.main.asyncblock,why?(1个回答)关闭6年前。我编写这段代码是为了在用户开始编辑UITextField时选择所有文本:@IBActionfunconEditingBegin(_sender:Any){print("editingbegan")lettextfield=senderas!UITextFieldtextfield.selectAll(nil)}但它不会工作,直到我将textfield.selectAll(nil)行包含在DispatchQueue.main.as

ios - 从 LaunchScreen 转到 Main.Storyboard 中的 viewController?

我有一些我想在我的LaunchScreen中执行的逻辑,如果检查没问题,我想转至一个viewController,如果不行,我想转至另一个,这可能吗? 最佳答案 IgotsomelogicIwanttodoinmyLaunchScreen现在我明白了这个问题,我可以回答:不要。稍后执行耗时的逻辑。您的工作是快速启动。您需要退出applicationDidFinishLaunchingWithOptions,退出viewDidLoad,然后启动。此时显示什么由您决定;如果您有一些耗时的事情(在您的情况下,这听起来像是您正在联网或在为表

ios - Storyboard!与 UIStoryboard(名称 : "Main", 包:无)

我进入了一个具有以下声明的项目:UIStoryboard(name:"Main",bundle:nil).instantiateViewControllerWithIdentifier("asdf")as!AsdfViewController我一直使用storyboard!来做到这一点。据我了解,storyboard!将始终给我UIStoryboard(name:"Main",bundle:nil)。这是一个危险的假设吗?我知道如果您想引用不同的Storyboard文件,您可能想使用UIStoryboard的官方构造函数,但是将其缩写为storyboard是否安全!如果您确定要实例化的

ios - 无法打开 Main.storyboardc。 Interface Builder 无法打开已编译的 nib

我从另一个团队那里得到了库,其中包含framework和bundle文件。当我尝试浏览库时,我发现Main.storyboardc文件有问题。它指出无法打开文件“Main.storyboardc”。InterfaceBuilder无法打开已编译的nib。.storyboardc文件是什么意思?将“c”添加到Storyboard文件是否是人为错误?如果不是,那么修复是什么?我正在尝试读取.storyboardc文件的内容,但遇到权限错误。可以绕过这个权限吗?如何给storyboard文件设置这样的权限? 最佳答案 .storyboar

ios - 如何判断一条语句是否需要放在DispatchQueue.main.async中?

我正在尝试在viewDidLoad中获取subview的绑定(bind)大小:(canvas.bounds)最初我没有使用DispatchQueue.main.async包装器,并且没有正确返回大小。所以通过实验,我将语句包装在主线程队列中。然后它起作用了。我知道有一个指南说“UI相关操作需要放在主线程”。但这如何转化为实际的编码经验法则:如果我只是查询一个UI属性,比如获取边界大小,我是否需要将它包装在主线程队列中吗?如果我要更改UI属性(property),例如改变边界大小,我需要把它包在里面吗主线程队列?(我想可能是的)overridefuncviewDidLoad(){supe

ios - 线程池 : DispatchQueue. main.async

我从事过Java工作,并且非常清楚线程和线程池的工作原理。我想知道是否有人可以解释如何在swift中创建线程和在线程池中分配空间?还有,是吗Dispatch.main.async{//somecode}创建新线程还是异步执行任务?提前致谢=) 最佳答案 队列和线程是不同的概念。队列是要执行的block的有序(有时是优先级)序列。作为(主要)实现细节,block必须被安排到线程上才能执行,但这不是它们的重点。所以Dispatch.main.async分派(dispatch)(追加)一个block到主队列。主队列是串行的并且有些特殊,因

ios - swift 4 错误 : '-[UIKeyboardTaskQueue waitUntilAllTasksAreFinished] may only be called from the main thread

当互联网连接处于事件状态时,该应用程序运行良好。但是,我尝试关闭互联网连接并尝试使用端点。我遇到了这个错误:***Terminatingappduetouncaughtexception'NSInternalInconsistencyException',reason:'-[UIKeyboardTaskQueuewaitUntilAllTasksAreFinished]mayonlybecalledfromthemainthread.'几点:a)首先,我不清楚我应该在哪个地方使用async-我在switch语句中针对两种不同的情况将它放在了两个地方。b)其次,我是否使用error.lo