I have saved data which was saved using NSUserDefaults. I was under the impression that if there was nothing saved to the key already (first time app is run) it would defaul
if (setbatteryHealthCalculated = 0) {
Ehm. Should be
if (setbatteryHealthCalculated == 0)
The comparison operator is == instead of = in C-like languages.
The original code will set setbatteryHealthCalculated to 0 no matter what. Since 0 is false, the if branch will never be executed and no alerts would be shown.
Also, the original code has unbalanced braces.
BTW, is setbatteryHealthCalculated an ivar? If yes, remove the NSInteger before it. Otherwise you're declaring a local variable which shadows the ivar.