草庐IT

material-swift

全部标签

swift - 如何在用户关闭 AVPlayer 时获取视频播放时间

在应用中,用户应该观看设置视频。如果他们没有看完并点击“关闭”按钮,我想知道他们停在哪里,以便他们再次开始观看时我可以从那个地方开始播放视频。我想知道他们停止观看的时间,以便我可以将该号码保存到服务器以备后用,使用以下代码:player.seek(to:CMTimeMakeWithSeconds(637,1))我尝试了以下方法:funcshowUnplayedVideo(){//1.checktoseeifuserhasalreadywatchedtheappoverviewvideoref.child("videos").child("appOverview").child("wat

ios - 如何添加唯一值以区分 Swift 数组中的重复数据?

请问有人能指出正确的方向来解决这个问题吗?我正在使用以下结构中的值创建表格单元格。单元格已创建,数据在创建时显示在单元格中,效果很好。问题是一些单元格具有相同的名称,我有一个来自结构数据的每个单元格的单独ID,但我需要用户知道在重复项中首先创建了哪个重复项。有点像子号。例如:1:apple-1,2:pear-1,3:apple-21(在所有单元格中的位置)-Apple(单元格的名称)-1(基于有多少个单元格被命名为apple的值)我创建的funcidName()告诉我们一个名字出现了多少次,但我如何分解它以便数据像上面那样显示?structData{varid:Intvarname:S

swift - 当我在 Swift 4 中显式使用内部访问控制级别时

我对内部访问控制级别有疑问Internal是Swift中的默认访问控制级别所以我认为所有的internal访问控制都应该被移除是否有在Swift中显式使用internal访问控制的特定情况?我何时或如何在Swift中使用内部访问控制? 最佳答案 我发现一个案例internal需要显式添加:publicinternal(set)varmyInt=0省略internal关键字会导致编译错误。这在swift包/pod中特别有用。该属性是公开公开的,但只能在包/pod内部更改该值。 关于swif

ios - 为什么 collectionView.scrollToItem 使用 Swift 将 indexPath 滚动到 View 之外?

以下函数加载一个Messages数组,重新加载collectionView并(应该)滚动到最后一项。问题是最后一个项目向上滚动太远超出View,因此不可见。注意:我使用了3种不同的“原型(prototype)”自动调整大小的单元格,它们根据消息的类型(文本消息、图像消息等)出列。这似乎是一项如此简单的任务,但我开始为这个任务费尽心思。任何帮助都会很棒:)funcloadConversation(){DataService.run.observeUsersMessagesFor(forUserId:chatPartnerId!){(chatLog)inself.messages=chat

swift - 更改 UIView 旋转将更改其框架大小。旋转后如何保持帧大小?

我正在通过UIRotationGestureRecognizer旋转UIView但我有一个问题,旋转后的UIView的框架大小将在旋转时改变.targetView=UIView(frame:CGRect(x:self.view.center.x,y:self.view.center.y,width:100,height:100))targetView.backgroundColor=.redtargetView.isUserInteractionEnabled=trueself.view.addSubview(targetView)targetView.center=self.view

Swift:在面向协议(protocol)的方法中出错。错误:无法将类型 'I.Job' 的返回表达式转换为返回类型 'ActualJob'

我有两个接口(interface)Controllerable和Interactorable应该一起工作来实现一些东西。以下是协议(protocol):protocolControllerable{associatedtypeJob:DecodablefuncgetJob()->Jobfunccontrol(job:Job)}protocolInteractorable{associatedtypeJob:Decodablefuncinteract()->Job}以下是符合上述协议(protocol)的具体类型:这里要注意一件事,Controller有一个Interactor依赖项来使

swift - tableView 或 collectionview dequeue 可重复使用如何快速工作

我已经准备了很多帖子,但我并不清楚它是如何工作的。根据我对性能原因的理解,同一个单元格被重用,但我有一组查询,如在出队回收过程中,最初在内存中为任何设备创建了多少个单元格,例如是否创建了任何特定数量的单元格,例如N个单元格在滚动时哪个特定的单元格被重用静态tableview是否支持dequeue 最佳答案 Duringdequeuerecyclehowmanycellsareinitiallycreatedinmemoryforanydevicelikeisthereanyspecificnumberofcellsarecreate

swift - vapor参数解码挂掉HTTP请求

我有一个奇怪的问题。我在digitalocean机器上的docker内部运行Steam。除了PATCH和DELETE请求外,我的所有请求都按预期工作。在下面的代码中,patchenter将被记录,但不会记录parameterdecode。HTTP请求似乎永远运行,其他并行请求是不可能的funcpatch(_req:Request)throws->Future{letlogger=tryreq.make(Logger.self)logger.info("patchenter")returntryreq.parameters.next(Manufacturer.self).flatMap{

swift - 通过闭包初始化属性

我观察到人们有时使用闭包来初始化属性。例如而不是lazyvartest1:String=String("astring")他们使用lazyvartest2:String={String("astring")}()使用闭包初始化属性有什么好处/方便? 最佳答案 这两个做同样的工作。当您需要额外的代码来配置属性对象时,闭包初始化就派上用场了。例如:lazyvarpoint:CGPoint={letx=...lety=...returnCGPoint(x:x,y:y)}() 关于swift-通

ios - cellForItemAt 函数未在 Swift 4 中的 UICollectionViewController 中调用

这看起来很基础,但我不能让它在Swift4中工作。所以我有以下UICollectionViewController的实现classTestController:UICollectionViewController,UICollectionViewDelegateFlowLayout{overridefuncviewDidLoad(){super.viewDidLoad()collectionView?.register(MyCell.self,forCellWithReuseIdentifier:"default")}overridefunccollectionView(_collec