小编kik*_*tas的帖子

使用一个动画关闭并呈现模态视图控制器

问题是我不知道如何解雇和呈现只有一个过渡动画的视图控制器.

我的故事板结构是:

在此输入图像描述 我们可以说A控制器是在NavigationController之后,B是Startup引用,C是TabBar ViewController.既Ç与一个模态呈现交叉溶解过渡.

当用户登录到应用程序(来自B)时,C控制器以模态方式呈现,具有翻转水平过渡.当用户注销(来自C)时,B以相同的方式呈现.在A控制器上,我根据用户是否记录执行直接segue到BC.

我的问题是如果我不从BC中解除以前的视图控制器,那么该控制器就会泄露.相反,如果我解除它,则在呈现目标控制器(BC)之前显示A.

是否可以仅显示" 水平翻转""查看"视图?

uiviewcontroller ios presentviewcontroller

5
推荐指数
1
解决办法
1537
查看次数

在 Swift 中使用 Hashable 扩展 @objc 协议

我有@objc这个实现的协议:

@objc public protocol Document: class {
   var data: Data? { get }
   var image: UIImage? { get }

   func generatePreview()
} 
Run Code Online (Sandbox Code Playgroud)

我试图在[Document: Int]字典中使用它,但很自然地我得到了这个错误:

类型“文档”不符合协议“Hashable”

问题是我不知道如何使它符合Hashable,因为它是一个@objc协议并且Hashable只在 Swift 中可用。如果我尝试使其符合Hashable,我会收到此错误:

@objc 协议“文档”无法细化非@objc 协议“Hashable”

该协议用作方法中的属性@objc,我想将其保留为“@objc”方法,因为它是@objc委托协议的一部分。

该协议如下所示:

@objc public protocol MyClassDelegate: class {

    @objc func methodOne(parameter: [Document: Int])

}
Run Code Online (Sandbox Code Playgroud)

任何的想法?

objective-c ios swift

5
推荐指数
1
解决办法
768
查看次数