Я пытаюсь написать логику, чтобы упростить мой код.Значение переменной (pointpb
) изменяется на основе различных входных данных и в зависимости от значения этой переменной будет выполняться оператор if
.
Первоначально переменная была объявлена внутри оператора if
, но быстро измениласьчто однажды я понял, что это не может быть использовано вне этого утверждения.Я использовал обычные ресурсы.Google, YouTube и просмотрели документы Apple, объявили переменную в разных областях кода и т. Д., Но, похоже, не могут понять, почему это так.
class MapViewController: UIViewController, MKMapViewDelegate {
var pointpb = 0
//add icon push button action/draw select enable
@IBAction func Addpointpb(_ sender: UIButton)
{
pointpb = 1
Iconselected.textColor = UIColor.blue
self.Iconselected.text = "Select One"
self.Circleselect.isHidden = false
self.Lineselect.isHidden = false
self.Pointselelct.isHidden = false
}
//point selected
@IBAction func Pointselect(_ sender: UIButton)
{
pointpb = 2
self.Pointselelct.isHidden = true
self.Circleselect.isHidden = true
self.Lineselect.isHidden = true
self.Addpointpb.isHidden = true
self.Pointcancel.isHidden = false
self.Iconselected.text = "Point"
}
//line selected
@IBAction func Lineselect(_ sender: UIButton)
{
pointpb = 3
self.Pointselelct.isHidden = true
self.Circleselect.isHidden = true
self.Lineselect.isHidden = true
self.Addpointpb.isHidden = true
self.Pointcancel.isHidden = false
self.Iconselected.text = "Line"
}
//circle selected
@IBAction func Circleselect(_ sender: UIButton)
{
pointpb = 4
self.Pointselelct.isHidden = true
self.Circleselect.isHidden = true
self.Lineselect.isHidden = true
self.Addpointpb.isHidden = true
self.Pointcancel.isHidden = false
self.Iconselected.text = "Circle"
}
}
//==================================================================
//preferred code for me to use
//point selected
@IBAction func Pointselect(_ sender: UIButton)
{
pointpb = 2
self.Iconselected.text = "Point"
}
//line selected
@IBAction func Lineselect(_ sender: UIButton)
{
pointpb = 3
self.Iconselected.text = "Line"
}
//circle selected
@IBAction func Circleselect(_ sender: UIButton)
{
pointpb = 4
self.Iconselected.text = "Circle"
}
//if statement
if pointpb == 2, pointpb == 3, pointpb == 4
{
self.Pointselelct.isHidden = true
self.Circleselect.isHidden = true
self.Lineselect.isHidden = true
self.Addpointpb.isHidden = true
self.Pointcancel.isHidden = false
}
Как вы можете видеть, входы UIButton
для последних трех функций, по сути, делают то же самое.В идеале я хотел бы использовать раздел кода в нижней части.Однако, как упоминалось ранее, переменная больше не распознается, и я получаю сообщение об ошибке «ожидаемое объявление», указывающее на этот оператор if
.Я чувствую, что это что-то глупо очевидно, но, очевидно, я тупой.