if文を記載するときに、if文中で宣言した変数などを使って
そのif文自体の条件式に使用する方法などあるのでしょうか?
例えば下の文の②部分は条件の①より後に記載していますが、
それを①に使用しています。
このように後に記述した内容を先に書いているものに使うことなどできるのでしょうか?
またどのようにすればいいのでしょうか?
知識不足、説明下手ですが何か情報があれば知りたいです、、
import UIKit class ViewController: UIViewController{ let ud = UserDefaults.standard let a:Int = 10 var b:Int? override func viewDidLoad() { super.viewDidLoad() if self.b == nil・・・① { if ( a >= 0 ) { print("。。。。。。") } else { ud.set(self.a, forKey: "alfa") self.b = ud.object(forKey: "alfa") as? Int・・・② print("。。。。。") } } } }
ソースコードは```で囲んでください。非常に見づらいです。
self.bを使いたくないのであれば、self.bを削除した状態でコードを書いて下さい。あと、コードは ``` で囲って下さい。非常に見づらいです。
すみません、修正しました。②の行で let b=ud.object(forKey:"alfa") as? Intに変更しても、①で使えないきがするのですが。。
正直、何をしようとしているのか全く分からないのですが、「①で使えないきがするのですが。。」という認識は正しいです。ようするに、無理なことをやろうとしているのです。一体何をしようとしているのでしょうか?
やはりそうですよね。どうしてもelseの中で②の処理をしないといけない状況下で、解決方法があればと思いましたが、違う方法を考えてみます。
self.bでダメな理由は何なのでしょうか?
self.bだとメンバ変数を参照してしまうのでうまく条件分岐しないんですよね。。私としては何度も言いますが、②の部分を条件のbの値に使いたいんですけど、やはりそれはうまくいきませんね。
やっぱり何言ってるのか分かりません‥。私ももう一度書かせてもらいますが、self.bを使いたくないのであれば、self.bを使わないコードを書いてみて下さい。エラーが出ようが、まともに動かなかろうが構いませんので。回答する以前に、質問の意味(意図)が分からないのです。