Reputation: 674
This is my code to disable buttons on a view controller if an integer is below a certain amount.
if (plancnt.value(forKey: "plancnt") != nil){
plancnt.set(1, forKey: "plancnt")
}
if (plancnt.integer(forKey: "plancnt") <= 1) {
two.isEnabled = false
three.isEnabled = false
four.isEnabled = false
five.isEnabled = false
six.isEnabled = false
seven.isEnabled = false
eight.isEnabled = false
nine.isEnabled = false
ten.isEnabled = false
elleven.isEnabled = false
twelve.isEnabled = false
thirteen.isEnabled = false
fourteen.isEnabled = false
fifteen.isEnabled = false
sixteen.isEnabled = false
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 2) {
three.isEnabled = false
four.isEnabled = false
five.isEnabled = false
six.isEnabled = false
seven.isEnabled = false
eight.isEnabled = false
nine.isEnabled = false
ten.isEnabled = false
elleven.isEnabled = false
twelve.isEnabled = false
thirteen.isEnabled = false
fourteen.isEnabled = false
fifteen.isEnabled = false
sixteen.isEnabled = false
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 3) {
four.isEnabled = false
five.isEnabled = false
six.isEnabled = false
seven.isEnabled = false
eight.isEnabled = false
nine.isEnabled = false
ten.isEnabled = false
elleven.isEnabled = false
twelve.isEnabled = false
thirteen.isEnabled = false
fourteen.isEnabled = false
fifteen.isEnabled = false
sixteen.isEnabled = false
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 4) {
five.isEnabled = false
six.isEnabled = false
seven.isEnabled = false
eight.isEnabled = false
nine.isEnabled = false
ten.isEnabled = false
elleven.isEnabled = false
twelve.isEnabled = false
thirteen.isEnabled = false
fourteen.isEnabled = false
fifteen.isEnabled = false
sixteen.isEnabled = false
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 5) {
six.isEnabled = false
seven.isEnabled = false
eight.isEnabled = false
nine.isEnabled = false
ten.isEnabled = false
elleven.isEnabled = false
twelve.isEnabled = false
thirteen.isEnabled = false
fourteen.isEnabled = false
fifteen.isEnabled = false
sixteen.isEnabled = false
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 6) {
seven.isEnabled = false
eight.isEnabled = false
nine.isEnabled = false
ten.isEnabled = false
elleven.isEnabled = false
twelve.isEnabled = false
thirteen.isEnabled = false
fourteen.isEnabled = false
fifteen.isEnabled = false
sixteen.isEnabled = false
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 7) {
eight.isEnabled = false
nine.isEnabled = false
ten.isEnabled = false
elleven.isEnabled = false
twelve.isEnabled = false
thirteen.isEnabled = false
fourteen.isEnabled = false
fifteen.isEnabled = false
sixteen.isEnabled = false
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 8) {
nine.isEnabled = false
ten.isEnabled = false
elleven.isEnabled = false
twelve.isEnabled = false
thirteen.isEnabled = false
fourteen.isEnabled = false
fifteen.isEnabled = false
sixteen.isEnabled = false
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 9) {
ten.isEnabled = false
elleven.isEnabled = false
twelve.isEnabled = false
thirteen.isEnabled = false
fourteen.isEnabled = false
fifteen.isEnabled = false
sixteen.isEnabled = false
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 10) {
elleven.isEnabled = false
twelve.isEnabled = false
thirteen.isEnabled = false
fourteen.isEnabled = false
fifteen.isEnabled = false
sixteen.isEnabled = false
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 11) {
twelve.isEnabled = false
thirteen.isEnabled = false
fourteen.isEnabled = false
fifteen.isEnabled = false
sixteen.isEnabled = false
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 12) {
thirteen.isEnabled = false
fourteen.isEnabled = false
fifteen.isEnabled = false
sixteen.isEnabled = false
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 13) {
fourteen.isEnabled = false
fifteen.isEnabled = false
sixteen.isEnabled = false
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 14) {
fifteen.isEnabled = false
sixteen.isEnabled = false
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 15) {
sixteen.isEnabled = false
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 16) {
seventeen.isEnabled = false
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 17) {
eighteen.isEnabled = false
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 18) {
nineteen.isEnabled = false
twenty.isEnabled = false
}
if (plancnt.integer(forKey: "plancnt") <= 19) {
twenty.isEnabled = false
}
However when i write
plancnt.set(20, forKey: "plancnt")
plancnt.synchronize()
all of the button except button one are disabled. Im not sure if my greater than/less than signs are wrong or something else, please help.
Upvotes: 0
Views: 100
Reputation: 674
In the starboard file unclick the "enabled" button and type this under the viewdidload
if (plancnt.integer(forKey: "plancnt") >= 1) {
one.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 2) {
two.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 3) {
three.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 4) {
four.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 5) {
five.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 6) {
six.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 7) {
seven.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 8) {
eight.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 9) {
nine.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 10) {
ten.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 11) {
elleven.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 12) {
twelve.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 13) {
thirteen.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 14) {
fourteen.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 15) {
fifteen.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 16) {
sixteen.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 17) {
seventeen.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 18) {
eighteen.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 19) {
nineteen.isEnabled = true
}
if (plancnt.integer(forKey: "plancnt") >= 20) {
twenty.isEnabled = true
}
Upvotes: 0
Reputation: 104
Do something like this:
var buttons = [one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen,sixteen,seventeen,eighteen,nineteen,twenty]
let i: Int = plancnt.value(forKey: "plancnt")
for index in i..<buttons.count {
print("\(index)")
buttons[index].isEnabled = false
}
Upvotes: 0
Reputation: 93181
Because all you did were to disable buttons, you never reenable them when plancnt
changes. And your code gives me a headache. Try something like this:
if plancnt.value(forKey: "plancnt") == nil {
plancnt.set(1, forKey: "plancnt")
}
let buttons = [one, two, three, ..., twenty]
let cnt = plancnt.integer(forKey: "plancnt")
for i in 0..<buttons.count {
buttons[i].isEnabled = i < cnt
}
Upvotes: 2