swift2 Swift 2:永远不会使用不可变值X,请考虑替换为“_”

5vf7fwbs  于 2022-11-06  发布在  Swift
关注(0)|答案(5)|浏览(145)

在我的旧代码的几个例子中,我得到警告:
永远不会使用不可变值X,请考虑用'_'替换
例如,如果我正在检查一个有关联对象的枚举(但在这种情况下我不使用该对象),或者如果我正在使用“If let”构造来检查一个对象是否为nil,这种情况经常发生。
浏览这些警告并进行更改并不会让我感到困扰,但我想知道是否有人知道为什么建议这样做--为什么要费心警告我们?这会以任何方式影响性能吗?

68bkxrlz

68bkxrlz1#

我们建议您做这些更改,因为如果您根本不使用这些变量,您应该考虑将其替换为“_”,这样您(和其他人)以后可以更快地理解您的意图。
就性能而言,这可能只是一个你根本注意不到的小改进,同样的情况也适用于代码的编译和优化。

ki1q1bka

ki1q1bka2#

**永远不会使用不可变的值X,请考虑用'_'**替换

出现此警告是因为您在声明变量后没有使用它。只要忽略此警告并继续编写代码并使用对象,它就会消失。
雨燕2是非常敏感的语言,它会给予你警告的每一步。
我正在解释一个简单的演示警告任何对象在这里:- 1 .**不可变的值X是从来没有使用考虑替换为'_'**它会来当你不使用的对象和声明它只。例如:-

var nameImg:String = "";

2.变量'nameImg'已被写入,但从未被读取当您要为对象赋值,但尚未在任何其他对象中使用它时,它就会出现例如-

var nameImg:String = "";
                    if(action==1){
                        nameImg  = "navTab";
                    }
                    else{
                        nameImg  = "back";
                    }

3.没有警告如果您正在为您的对象赋值并在另一个对象中使用它;).

var nameImg:String = "";
                    if(action==1){
                        nameImg  = "navTab";
                    }
                    else{
                        nameImg  = "back";
                    }

                    //back & menu btn
                    let btnBack = UIButton(type: UIButtonType.Custom);
                    btnBack.setImage(UIImage(named:nameImg), forState: UIControlState.Normal);
                    btnBack.sizeToFit();
9w11ddsr

9w11ddsr3#

这是因为你的值在声明后从未被使用过,不久前我也遇到了同样的问题。

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    tableView.deselectRow(at: indexPath, animated: true)

    let row = indexPath.row <-----

我发现,只要打印后,使错误消失。

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    tableView.deselectRow(at: indexPath, animated: true)

    let row = indexPath.row <---
    print(row) <---
scyqe7ek

scyqe7ek4#

一般来说,在日常工作中,你应该不带警告地工作。显而易见的原因是,如果你的代码产生了数百个不那么重要的警告,你将错过 * 真实的 * 的和重要的警告。
你所描述的案例最好这样解决:您最好使用以下命令,而不要使用if let myObject = myObject

if myObject != nil

这样,你就清楚自己想要做什么。

piwo6bdm

piwo6bdm5#

出现此警告是因为Xcode希望您更改变量。Xcode希望该变量尚未使用。希望这有帮助。一旦您使用它,错误就会消失。我已经多次尝试并研究过它,事实上每次都消失了。

相关问题