ios - 尝试将 UITextField 文本转换为 Int Xcode 7 时出现错误
<p><p>我是编程新手,在完成了一些在线教程后,我决定使用 Xcode 7 制作自己的应用程序,以便能够在我的 iPhone 上运行我的应用程序。但是,当我尝试从文本字段中获取输入数据并将其放入 var 时,它会给我一个错误。我尝试使用以下内容:</p>
<pre><code>var initialChips = 0
var initialBlind = 0
@IBOutlet weak var txtBlind: UITextField!
@IBOutlet weak var txtChips: UITextField!
@IBOutlet weak var doneBtn: UIBarButtonItem!
@IBAction func doneBtn(sender: AnyObject) {
let initialChips:Int? = Int(txtChips.text)
let initialBlind:Int? = Int(txtBlind.text)
}
</code></pre>
<p>Xcode 会要求输入一个“!”在“.text”之后,但在这样做之后它给了我一个警告:“初始化不可变值'initialChips'(或'initialBlind'从未使用过:考虑替换为'_'或删除它”。</p>
<p>如何为我的 var 设置值?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>问题是 <code>let initialChips:Int? = Int(txtChips.text)</code> 生成一个名为 <code>initialChips</code> 的新变量(与类中的变量不同)。 <code>let</code> 和 <code>var</code> 的区别在于 <code>let</code> 是不可变的,而 var 不是。你应该这样做:</p>
<pre><code>initialChips = Int(txtChips.text)
</code></pre>
<p>将 <code>UITextField</code> 中的整数分配给您的类变量,而不是声明一个新的不可变变量(同名)并且不对其进行任何操作。</p>
<p>当然,<code>initialBlind</code></p>也是如此
<p><strong>编辑:</strong></p>
<p>尝试以下方法:</p>
<pre><code>@IBAction func doneBtn(sender: AnyObject) {
if let initialChips = Int(txtChips.text!) {
self.initialChips = initialChips
}else {
self.initialChips = 0
}
if let initialBind = Int(txtBind.text!) {
self.initialBind = initialBind
}else {
self.initialBind = 0
}
}
</code></pre></p>
<p style="font-size: 20px;">关于ios - 尝试将 UITextField 文本转换为 Int Xcode 7 时出现错误,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/31506824/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/31506824/
</a>
</p>
页:
[1]