如果发送短信,则保存开关状态



我一直在尝试将交换机连接到短信文本,效果很好,我什至能够保存交换机所在的状态。

但是现在我只需要在发送短信时才保存状态,如果用户不发送消息但开关已经打开,则应使用 AlertView 提醒他们。

到目前为止,我已经能够保存开关离开的状态,并连接一个标签以表示它在短信中是"开"还是"关"。

- (void)viewDidLoad {
NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
    self->switch1.on = ([[standardDefaults stringForKey:@"switchKey"]

                             isEqualToString:@"On"]) ? (YES) : (NO);
if(switch1.on){
    label.text = @"ON";
    NSUserDefaults *defults = [NSUserDefaults standardUserDefaults];
    [defults setObject:label.text forKey:@"labelkey"];
    [defults synchronize];

} else label.text = @"OFF"; {
    NSUserDefaults *defults = [NSUserDefaults standardUserDefaults];
    [defults setObject:label.text forKey:@"labelkey"];
    [defults synchronize];
}

label.text = [[NSUserDefaults standardUserDefaults]objectForKey:@"labelkey"];
}

- (IBAction)switchChanged:(UISwitch *)sender {
NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
if (sender.on == 0) {
    label.text = @"OFF";
    [standardDefaults setObject:@"Off" forKey:@"switchKey"];

} else if (sender.on == 1) {
    label.text = @"ON";
    [standardDefaults setObject:@"On" forKey:@"switchKey"];
}
[standardDefaults synchronize];
}

这就是我发送短信的方式。

 - (IBAction)sendRequest:(id)sender
{
    MFMessageComposeViewController *messageVC =    [[MFMessageComposeViewController alloc] init];
messageVC.body = [@[label.text] componentsJoinedByString:@""];
messageVC.recipients = @[_phoneNumber.text];
messageVC.messageComposeDelegate = self;
[self presentViewController:messageVC animated:NO completion:NULL];
}

通过使用MFMessageComposeViewControllerDelegate delegate,您可以找到消息由用户发送或取消。

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult) result

{

switch (result) {
    case MessageComposeResultCancelled:
        //show alert here as per your requirement break;
    case MessageComposeResultFailed:
    {
        UIAlertView *warningAlert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Failed to send SMS!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [warningAlert show];
        break;
    }
    case MessageComposeResultSent:
        break;
    default:
        break;
}
[self dismissViewControllerAnimated:YES completion:nil];

}

参考此链接 -> 发送短信

最新更新