将函数转换为Swift 3的奇怪问题

时间:2016-12-02 20:25:57

标签: ios swift swift2 swift3

我在 Swift 2 中有一个功能:

public override func drawRect(rect: CGRect)

和Xcode提供将其转换为 Swift 3 。我按下红点进行转换,然后将其转换为:

open override func draw(_ rect: CGRect) {

但是,现在它给了我下一个错误:

Invalid redeclaration of 'draw'

如何正确将其转换为Swift 3?

2 个答案:

答案 0 :(得分:0)

此代码(你的):

class MyView: UIView {
    open override func draw(_ rect: CGRect) {
        //
    }
}

在这里编译好。

我怀疑您已经在班级中实施了draw()

以其他方式,清理和删除派生数据。

答案 1 :(得分:0)

Xcode正确转换功能

data test;
infile '&filename' delimiter = ',' missover dsd lrecl 32767 firstobs = 2;
informat var_one 2.;
informat var_two $4.;
format var_one 2.;
format var_two $4.;
input @; *start inputtingl
if length(scan(_infile_,1,',')) = 2 then 
  input var_one;
else 
  input var_two $;
run;

我认为你在Xcode转换drawRect之前和之后都有这个名字的功能你现在有两个同名的函数。我现在自己尝试,并声明像上面的绘图功能没有错误。但是,当声明此类函数2次时会产生完全相同的错误。