Ios 如何将Objective-C行转换为Swift?

Ios 如何将Objective-C行转换为Swift?,ios,objective-c,swift,Ios,Objective C,Swift,我有目标C中的代码: NSMutableArray* paths = [textView.textContainer.exclusionPaths mutableCopy]; 现在,当我尝试将其转换为Swift时: self.textView.textContainer.exclusionPaths(mutableCopy()) 这给了我一个错误: Cannot call value of non-function type '[UIBezierPath]' 我如何转换它 我也试过: se

我有目标C中的代码:

NSMutableArray* paths = [textView.textContainer.exclusionPaths mutableCopy];
现在,当我尝试将其转换为Swift时:

self.textView.textContainer.exclusionPaths(mutableCopy())
这给了我一个错误:

Cannot call value of non-function type '[UIBezierPath]'
我如何转换它

我也试过:

self.textView.textContainer.exclusionPaths.mutableCopy()
但是排除路径没有可变复制方法。

使用ArraytextView.textContainer.排除路径。

使用ArraytextView.textContainer.排除路径。

只需执行以下操作:

var paths = textView.textContainer.exclusionPaths
这将为您提供原始路径数组的可变副本。

只需执行以下操作:

var paths = textView.textContainer.exclusionPaths

这将为您提供路径原始数组的可变副本。

在Swift中,仅使用var关键字声明可变类型


在Swift中,仅使用var关键字声明可变类型


我认为这两个答案比公认的答案要好。它更干净,作为一般规则,最好只使用var并享受Swift的写时复制行为。一般来说,我同意var是一种方法,但在这种情况下,当一个Obj-C开发人员学习Swift时,我的版本正在创建一个副本,这一点要清楚得多。我强烈地感觉到Swift的不可变结构和可变对象可能会令人困惑,因为你必须始终记住给定对象是哪一个。我认为这两个答案比公认的答案要好。它更干净,作为一般规则,最好只使用var并享受Swift的写时复制行为。一般来说,我同意var是一种方法,但在这种情况下,当一个Obj-C开发人员学习Swift时,我的版本正在创建一个副本,这一点要清楚得多。我强烈地感觉到Swift的不可变结构与可变对象可能会令人困惑,因为你必须始终记住给定对象是哪一个。这应该是公认的答案。或者rmaddy的,也说了同样的话。这应该是公认的答案。或者是rmaddy的,上面说的是同样的话。你已经得到答案了!但是,从我的角度来看,请检查此链接。即使您在将Objective C转换为Swift时遇到任何问题,也可以尝试使用此网站。你的答案在下面的链接中:你已经得到了答案!但是,从我的角度来看,请检查此链接。即使您在将Objective C转换为Swift时遇到任何问题,也可以尝试使用此网站。您的答案在以下链接中: