以下是代码:
class settings {
static let SharedInstance = settings()
var city: String {
return self.city
}
}
现在,我可以从单独的视图访问此类:
@IBOutlet weak var cityLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
cityLabel.text = settings.SharedInstance.city
}
但我希望能够在我的" settings
"中更改城市的价值。从另一个角度来看。
类似的东西:
@IBOutlet weak var city: UITextField!
@IBAction func saveButtonClicked(_ sender: AnyObject) {
settings.SharedInstance.cityVar(city.text)
closeKeyboard()
}
我不知道如何从这里出发
我的逻辑是在我setter
内发起class
,或者function
string
class settings {
static let SharedInstance = settings()
var city: String?
func setCity(city: String){
self.city = city
}
}
并更改变量,就像我上面尝试的那样。
更新
我现在可以在此课程中设置并获取城市名称:
override func viewDidLoad() {
super.viewDidLoad()
cityLabel.text = settings.SharedInstance.city
}
现在的问题是当我在班级中访问城市变量"设置"在另一种观点中,它没有显示新值:
<?php
include 'database.php';
$queryy = mysqli_query($con,"SELECT d.driver_name,mob_no,d.vehicle_no
from driver_info d JOIN login l ON l.seller_id=d.seller_id where d.status='free' and l.seller_id=".$login_session);
echo '<select name="driver_name">';
while ($row = mysqli_fetch_array($queryy))
{
echo '<option value="'.$row['driver_name'].'" value="'.$row['mob_no'].'">'.$row['driver_name'].'</option>';
echo '<br>';
}
?>
我相信它不会更新视图
答案 0 :(得分:0)
如果您使用以下行:
set "first=1"
for %%a in (%sources%) do (
if not defined first (
echo.>> %output%
echo.>> %output%
echo.>> %output%
)
set "first="
echo %comment_prefix%>>%output% %%a
echo.>> %output%
type %%a>>%output%
)
然后您的var city: String {
return self.city
}
将成为“获取”属性。我没有看到任何理由你必须像这样初始化变量。如果你这样做,请澄清。
我建议更改变量,使其成为可选项。然后你可以改变你的课程:
city
然后您不必为该类创建初始值设定项。如果你也想在类中创建一个setter方法,那么你可以,例如:
class settings {
static let SharedInstance = settings()
var city: String?
}
这意味着现在可以使用以下方法:
func setCity(city: String){
self.city = city
}