草庐IT

ios - Swift,与 UIBarButtonItem 混淆

我最近开始学习Swift。当我尝试制作我的第一个App时,我对UIBarButtonItem感到困惑。如果我将UIBarButtonItem初始化放在viewDidLoad()函数之外,当我按下Next按钮时什么也不会发生。classViewController:UIViewController,UITextFieldDelegate{letrightBarButton:UIBarButtonItem=UIBarButtonItem(title:"Next",style:.plain,target:self,action:#selector(onClickNext(button:)))

ios - 我如何检测 [在 App-delegate 中] 用户将 View 从标准 View 更改为放大 iphone 的显示设置

据我所知,当我们在标准View和缩放View之间切换时,iphone会在后台重新启动。如果是全新安装,我在didFinishLaunchingWithOptions方法中有一些代码用于清除钥匙串(keychain)。现在,每当我切换View[标准到缩放]时,iOs都会将其视为全新安装并清除钥匙串(keychain),从而使我的应用程序崩溃。无论如何在代码中知道View已更改,以便我可以停止应用程序重置钥匙串(keychain)。这是代码片段:funcapplication(_application:UIApplication,didFinishLaunchingWithOptionsl

ios - Firebase 将用户检索到 tableView

我在将用户数据检索到TableView时遇到问题,我的代码可以正常工作,我看到用户在单元格中有他们的名字,但问题是当其中一个用户对其个人资料进行任何更改时,他的单元格将重复.Firebase结构:ViewDidLoad和单元格行:overridefuncviewDidLoad(){super.viewDidLoad()ref=FIRDatabase.database().reference()USER_REF.keepSynced(true)friends_REF.keepSynced(true)showUsersObserver{}}functableView(_tableView:

ios - recognizer.location(在 : recognizer. View 中) swift 返回零点

我有一个关于Swift中UIPanGestureRecognizer的奇怪案例。我有一个处理平移手势的函数,并在UIGestureRecognizerDelegate中指定“false”,这样就没有其他手势会干扰平移。这是有问题的案例:用户用一根手指触摸并开始平移用户将第二根手指放在屏幕上-第二根手指被忽略用户抬起第一根手指,而第二根手指仍在触摸-此时我的处理程序被调用recognizer.state==.ended。问题是此时的位置(我通过调用recognizer.location(in:recognizer.view)获得)返回点(0,0)我是否使用了错误的方式来理解要点?似乎由于

ios - 在单元测试中模拟 UserDefaults 对象返回 _ArrayBuffer

我试图在我的单元测试中删除对操作系统对象(如URLSessions和UserDefaults)的依赖性。我一直在尝试将预缓存数据模拟到我为测试目的而创建的模拟UserDefaults对象中。我制作了一个具有编码和解码功能的测试类,并将模拟数据存储在一个成员变量中,该成员变量是一个[String:AnyObject]字典。在我的应用程序中,启动时它将检查缓存中的数据,如果找到任何数据,则会跳过网络调用。所有我能得到的都是nil或这个持续错误:fatalerror:NSArrayelementfailedtomatchtheSwiftArrayElementtype查看调试器,解码器应该返

ios - 无法将类型 'Swift.Optional<Swift.AnyObject>' (0x7f9d44715db0) 的值转换为 'NSArray' (0x60000004f4f8)

我正在尝试检查responseObject!=nil但它始终返回true。我不知道(如何检查ANY的nil值?)这是我的代码:success:{(operation:AFHTTPRequestOperation?,responseObject:Any?)inprint("viewservicereponse:\(String(describing:responseObject))")print("viewservicereponse:\(responseObject!)")ifresponseObject!=nil{letjsonObjects:NSArray=responseObje

ios - Swift - 根据多个条件搜索大数组

我有一个包含4K+项的数组,使用UISearchBar和UISearchController对列表进行排序以查找匹配项。我想按几个标准对数组进行排序,但最重要的是首先按用户类型排序搜索Controller有3个范围按钮用于类别子类别所有的猫搜索数组中的项目正在使用结构类来访问条件:structItem{vartitle:Stringvarcategory:StringvarsubCategory:StringvarallCat:String}过滤的标准方法是使用这样的方法:funcfilterContentForSearchText(_searchText:String,scope:S

ios - AWS Cognito 在 Swift 中获取用户组

因此,我在Swift中的iOS应用程序上实现了AmazonCognito登录,一切都运行良好。但是,我现在正试图找出登录用户所属的组。我似乎无法从应用程序中找到执行此操作的好方法。据我所知,SDK似乎没有提供这样做的方法。任何帮助将不胜感激! 最佳答案 目前,这些组在发给用户的IDtoken中公开。它填充在声明“cognito:groups”中。更多详情:http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-user-groups.ht

ios - Swift:在 SceneView 之上设置 View 不起作用

我正在尝试设置一个布局,其中map放置在SceneView的顶部。当应用程序构建时,设置会闪烁一秒钟,然后SceneView占据整个屏幕,完全隐藏其他两个View。在左侧菜单上移动SceneView并将其移回后,文本开始出现但不是黑色背景。(我已经为场景View设置了约束以占据整个屏幕,并且在map上也设置了一些约束(右侧和底部)。为什么它不起作用?编辑:在我删除View并将其重新添加后它开始工作,但不确定为什么。@ElTomato说SceneViews总是与其他View重叠。这是真的吗(即不小心让它工作,我是否利用了错误)? 最佳答案

ios - 如何安全地处理必须全部发生的 firebase 中的多次写入

我想在我使用Firebase以Swift编写的应用中处理好友请求。在我的数据库中,这意味着发送请求的用户需要将其他用户添加到他们的“sentRequests”字典中,而接收请求的用户需要将发送请求的用户添加到他们的“receivedRequests”字典中。问题是,如果发送请求的用户有一个错误的连接并且只做了第一部分,那么它可能会导致问题。要么两次写入都应该发生,要么都不发生。我该怎么做才能解决这个问题?我在下面包含了我的代码以供引用,但老实说,如果有人给我发了一个很好的教程或在这里回答,那将有助于正确重写我的代码。staticfuncsendRequestFromCurrentUse