草庐IT

ios - 在 iOS 上使用 Swift 多次调用 Firebase 'Observe'

当我在Firebase数据库节点上启动observer时,我注意到即使没有数据更改,Firebase也会继续调用方法observer。这是我的设置:FIRDatabase.database().reference(withPath:"test").observe(FIRDataEventType.value,with:{(snapshot)inprint("FirebaseDataUpdated");});当我对Firebase数据库进行一次更改时,observer多次调用其闭包函数。FirebaseDataUpdatedFirebaseDataUpdatedFirebaseDataU

swift - iOS QR 代码扫描仪多次触发操作

我正在使用来自AppCoda(http://www.appcoda.com/qr-code-reader-swift/#comments)的二维码阅读器代码并将其转换为Swift3。基本代码运行良好。然而,我想要实现的是从QR阅读器中检索一个字符串,将其存储在一个变量中,并将该变量传递给下面的ViewController。所以我向其中添加了一些代码以获得以下内容:funccaptureOutput(_captureOutput:AVCaptureOutput!,didOutputMetadataObjectsmetadataObjects:[Any]!,fromconnection:A

arrays - 替换数组中的多次出现 - Swift 4.1

替换数组中的多次出现swift4.1,Xcode9.3我想做一个扩展,就像我为Array为String做的扩展一样。字符串扩展:publicextensionString{//////Replacesmultipleoccurencesofstrings/characters/substringswiththeirassociatedvalues.///````///varstring="HelloWorld"///letnewString=string.replacingMultipleOccurrences(using:(of:"l",with:"1"),(of:"o",with:

ios - SWIFT - LocationManager 循环多次?

我有一个locationManager函数来获取用户的当前位置并发布城市和州的名称。我有一个打印语句,所以我可以检查我的控制台是否一切正常……确实如此。但是,它打印了3次城市位置。这实际上会导致我的实际应用程序出现问题,但这超出了这个问题的重点。我的函数如下:varusersLocation:String!varlocationManager:CLLocationManager!funclocationManager(manager:CLLocationManager,didUpdateLocationslocations:[CLLocation]){letuserLocation:C

ios - 为什么 numberOfRowsInSection 仅针对一个部分被多次调用?

//VariableandViewDidLoadvarauxRow=0varauxSection=0overridefuncviewDidLoad(){super.viewDidLoad()}//NumberOfSections,只有一个sectionoverridefuncnumberOfSectionsInTableView(tableView:UITableView)->Int{auxSection+=1print("timessection:",auxSection)return1}//行数overridefunctableView(tableView:UITableView,

swift - Scene Kit Swift 节点多次旋转

在带有Swift的SceneKit中,我只能进行一次旋转。我想在每次用户点击屏幕时沿z轴旋转相机。funchandleTap(){println("start")SCNTransaction.begin()SCNTransaction.setAnimationDuration(1.0)SCNTransaction.setCompletionBlock(){println("done")}_cameraNode.rotation=SCNVector4Make(0,0,1,CFloat(-M_PI_4)*0.5)SCNTransaction.commit()}但是,我想在每次触摸时保持旋转

ios - UIApplicationDidEnterBackgroundNotification 多次调用 swift 2.0

我正在创建播放youtube视频的应用。在这个应用程序中,用户可以播放youtube视频,当用户进入后台或锁定手机时,将播放视频的声音我正在使用UIApplicationDidEnterBackgroundNotification播放背景视频我没有删除UIApplicationDidEnterBackgroundNotification在viewDidDisappear因为我想播放整个应用程序的视频声音这是代码overridefuncviewDidLoad(){super.viewDidLoad()NSNotificationCenter.defaultCenter().removeO

ios - 使用 sqlite swift iOS 多次访问 sqlite 数据库

这是我的场景,当我登录到我的应用程序时,我有多个请求,其中一个响应包含10,000多条记录。我在我的项目中使用SQLite.swift。如果用户不注销或不执行超过1项任务(如从数据库搜索或检索数据),则一切正常。如果发生任何一种情况,应用就会卡住或崩溃。我正在使用事务进行批量插入,但是当我尝试访问另一个相同的表数据时,应用程序会卡住,直到一切都完成。我尝试使用多个连接来插入数据库,但如果另一个连接正在使用数据库,那么它会被锁定并且应用程序会崩溃fatalerror:'try!'expressionunexpectedlyraisedanerror:databaseislocked:fi

多次注册 Swift SpriteKit 碰撞

我正在使用SpriteKit和Swift构建iPhone游戏,但我的碰撞检测系统无法正常运行。当我的“子弹”物理体和我的“玩家”物理体发生碰撞时,碰撞检测函数被调用多次,通常是4-12次。我已经尝试将“usesPreciseCollisionDetection”设置为true,但它仍然存在问题。此外,当子弹以一定角度而不是直接击中玩家时,该方法似乎被调用了更多次。有什么想法可以解决这个问题吗?碰撞类型:enumColliderType:UInt32{casePlayer=0b1caseBullet=0b10}玩家物理body设置:playerBody!.categoryBitMask=

swift - 为什么 SceneKit 的 physicsWorld didBeginContact 会为一次碰撞触发多次?

我正在使用SceneKit的physicsBody系统来检测对象之间的碰撞,并得到一些非常奇怪的结果。为了说明这一点,我有一个最小的示例,它生成两个具有运动学physicsBodies的球体并沿直线移动它们,以便它们短暂重叠。我希望看到physicsWorld(:didBeginContact:)在球体第一次重叠时被调用一次,而physicsWorld(:didEndContact:)在它们停止重叠时被调用一次。相反,我看到每个函数被调用了25次!下面是要重现的代码:在Xcode8.0中,使用“游戏”模板创建一个全新的项目。将GameViewController.swift的内容替换为