Ios 将这一行从目标C改写为Swift

Ios 将这一行从目标C改写为Swift,ios,objective-c,swift,Ios,Objective C,Swift,我知道这有点琐碎,但就我个人而言,我似乎无法在Swift中获得这行Objective-C代码 有什么想法吗 Obj C代码: CardView *view = (CardView *)draggableView; let view : CardView = draggableView(CardView) 我试过: CardView *view = (CardView *)draggableView; let view : CardView = draggableView(CardView

我知道这有点琐碎,但就我个人而言,我似乎无法在Swift中获得这行Objective-C代码

有什么想法吗

Obj C代码:

CardView *view = (CardView *)draggableView;
let view : CardView = draggableView(CardView) 
我试过:

CardView *view = (CardView *)draggableView;
let view : CardView = draggableView(CardView) 
我可能忘了一些小东西

试试-

let view = draggableView as! CardView 
试一试

这应该会把它抛给CardView

let view = draggableView as CardView

请参见类型转换

您想要的
draggableView as?CardView
(如果您希望它是可选的)或DragTableView as!CardView如果你想让它显式(但在执行此操作之前,请确保先检查类型)。@T先生,我不确定我是否会建议某人复制并粘贴代码以将其转换为另一种语言。。。OP在编写代码之前应该理解Swift。我同意你的观点。但有时,反向过程也会有所帮助。投票结束的范围太广:@DanBeaulieu我知道你在那里做了什么;)一天结束时,OP是否只想复制和粘贴在互联网上找到的代码,或者是否真的花时间努力理解一种语言,仍然取决于OP。不过,从长远来看,只有一条路径能真正帮助OP。你的答案与下面发布的答案有多大不同?事实并非如此。我想我们是同时写的。我刚看到他的回答。@T先生1)答案并不总是按相同的顺序显示,所以不要根据他们的位置引用其他答案。2) 如果答案的时间戳少于5或10分钟,不要担心看起来重复的答案。人们花时间写答案。现在,如果有人在一小时、一天或一周后出现并发布了相同的答案,请大声说出来。强制强制强制转换是危险的,它们可能会在您最不期望的时候导致崩溃。您不能只使用普通的
as
来强制转换变量。OP需要
as?
as。实际上,您需要将
作为?
用于条件强制转换或
作为用于强制强制强制转换。因此,其他两个答案中的任何一个都更好,因为它们所做的是原始Objective-C代码所做的,这是一种强制转换。应避免强制转换,它们可能会在意外时间导致崩溃。这取决于使用情况,如果您不确定是否可以使用?而不是