#!/bin/bash
a=1
iter=0
for ((iter; iter <= 1; iter++))
do
a=1
while [ $a -lt 4]
do
./random_num $a
a=`expr $a + 1`
done
done
看看Persion类的问候方法。 我正在使用self.name让我明白“我现在使用实例变量而不是局部变量” 这是用self访问实例变量的好方法吗?如果我经常使用。
答案 0 :(得分:5)
是否始终或仅在必要时使用self
的问题是一个意见问题。关于Swift是否应该要求使用self
访问实例变量和the swift-evolution mailing list,a formal proposal that it should存在很多争论。该提议(由Swift核心团队成员制作)尚未在撰写本文时作出决定,但可能很快就会决定(在Apple员工休假后)。
https://www.google.com/search?q=swift-evolution+mandatory+self+site:lists.swift.org
https://www.google.com/search?q=swift-evolution+require+self+instance+site%3Alists.swift.org
该提案遭到拒绝。 Swift不要求您使用self
来访问实例变量。您仍然可以选择在任何地方使用它作为标准编码样式的一部分,也许有人会编写一个“linter”来验证其输入文件在任何地方都使用它。
答案 1 :(得分:1)
实际上,您不需要经常在代码中编写self。如果 你没有明确地写自己,Swift假设你是指 当你使用a时,到当前实例的属性或方法 方法中的已知属性或方法名称。
所以我认为只在需要时使用self
来区分构造函数上的self.property = property
等本地变量和实例变量。
答案 2 :(得分:0)
不,只在必要的时候使用自己。
反对使用&#34; self&#34;的另一个论点: 如果你一直使用自己(没有明显的理由),那么你将忘记传递自我和创建参考周期的隐患。它也可以更容易地在课堂上进行文本搜索,以便自我&#34;找到参考周期的可能性。
除了所有正当理由之外它只是还原剂 - 无论如何,Xcode中的属性都有颜色突出显示。
答案 3 :(得分:0)
最好使用更适合OOPS的self关键字。