草庐IT

main_model

全部标签

swift - 'dispatch_get_main_queue()' 的模糊使用 - XMPP

我正在使用XMPP进行聊天事件的项目。我正在使用以下代码生成它,varstream:XMPPStream!letxmppRosterStorage=XMPPRosterCoreDataStorage()varxmppRoster:XMPPRoster!overridefuncviewDidLoad(){super.viewDidLoad()xmppRoster=XMPPRoster(rosterStorage:xmppRosterStorage)stream=XMPPStream()stream.addDelegate(self,delegateQueue:dispatch_get_m

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,然后启动。此时显示什么由您决定;如果您有一些耗时的事情(在您的情况下,这听起来像是您正在联网或在为表

model-view-controller - 在 Swift 中删除类实例

我试图完全理解在Swift中创建类对象的过程。秉承MVC的思想,我有以下简单的类来表示我的数据模型://Person.swiftimportFoundationclassPerson{varfirst:String="first"varlast:String="last"}在我的ViewController中,我有两个IBOutlets连接到UITextFields。使用IBAction方法,我使用文本字段中的文本设置了first和last变量。//ViewController.swiftimportUIKitclassViewController:UIViewController{@

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

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

ios - swift 4 可编码 : Common struct for all model

在这里我得到了我所有api的API响应。{"success":true,"message":"","data":{/multipaldataparameter/}}这是我的可编码模型structLogin:Codable{letsuccess:Boolletmessage:Stringletdata:DatastructData:Codable{}}如何为success和message参数创建通用的Sturct。 最佳答案 您可以使代表网络响应的根结构成为通用的,这将允许您在所有专门的响应中保持success和message部分通用

swift - Steam 3 API : embed Future<Model> in response object

假设我有一个名为Estimate的模型.我有一个Vapor3API,我想返回这些模型的列表,按查询参数过滤。目前这样做会返回Future,这会导致API返回如下所示的JSON:[{estimateobject},{estimateobject},...]相反,我想让它返回这样的东西:{"estimates":[{estimateobject},{estimateobject},...]}所以,和以前一样,但用一个键包裹在一个JSON对象中,"estimates".Accordingtothedocumentation,任何时候我想返回一些非默认的东西,我应该为它创建一个新类型;这向我建

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

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