我有两个UITextInput控件,我想计算其中的字符数。
对于上下文,我有两个输入:一个用于电子邮件地址,一个用于密码。我还有一个“登录”按钮。默认情况下该按钮处于非活动状态,但只要在两个输入中输入至少一个字符,我将以编程方式启用该按钮。这是为了防止登录尝试,直到用户在两个字段中都输入了值。
到目前为止,我正在使用这种方法:
if count(emailInput.text) > 0 && count(passwordInput.text) > 0 {
// Enable button
} else {
// Disable button
}
使用count()
功能是否可以接受?或者,还有更好的方法?我记得有一些问题需要检查iOS / Swift中的字符串长度。
答案 0 :(得分:12)
就我个人而言,以下代码在过去一直运作良好。
if (!emailInput.text.isEmpty && !passwordInput.text.isEmpty) {
// enable button
} else {
// disable button
}
答案 1 :(得分:4)
if((emailInput.text!.characters.count) > 0 && (passwordInput.text!.characters.count) > 0) {
// Enable button
} else {
// Disable button
}
答案 2 :(得分:2)
Swift 4
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.validation/1.15.1/jquery.validate.min.js"></script>
<form id="billmanagementform">
<div class="col-sm-2 col-md-2 col-xs-4">
<select name="cardExpYear" id="cc-exp-month" class="wide100 required">
<option value="" selected="selected">Month</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
</div>
<div class="col-sm-4 col-md-4 col-xs-8">
<select name="cardExpYear" id="cc-exp-year" class="wide100 required">
<option value="" selected="selected">Year</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
<option value="2021">2021</option>
<option value="2022">2022</option>
<option value="2023">2023</option>
<option value="2024">2024</option>
<option value="2025">2025</option>
</select>
</div>
<input type="submit" />
</form>
Swift 2
emailInput.text!.count
但是如果你需要做一些更优雅的事情,你可以创建一个像这样的扩展
现在,将self.emailInput.text!.characters.count
直接放在count
属性后,我的猜测就是直接使用它而不进行扩展,但如果您想要隔离这类内容,请继续!。
text