我正在开发一个应用程序,您可以在应用程序中向某人发送短信。这是我迄今为止所发现的。我想记住未来输入的电话号码,尽管用户可以随时更改电话号码。有什么想法吗?
import UIKit
import MessageUI
class ViewController: UIViewController, MFMessageComposeViewControllerDelegate {
@IBOutlet weak var phoneNumber: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func sendText(sender: UIButton) {
if (MFMessageComposeViewController.canSendText()) {
let controller = MFMessageComposeViewController()
controller.body = "Message Body"
controller.recipients = [phoneNumber.text]
controller.messageComposeDelegate = self
self.presentViewController(controller, animated: true, completion: nil)
}
}
func messageComposeViewController(controller: MFMessageComposeViewController!, didFinishWithResult result: MessageComposeResult) {
//... handle sms screen actions
self.dismissViewControllerAnimated(true, completion: nil)
}
override func viewWillDisappear(animated: Bool) {
self.navigationController?.navigationBarHidden = false
}
}
答案 0 :(得分:0)
前一段时间做过这样的事情,这是一个想法:
您可以将phoneNumber.text保存为变量,然后(可能在成功完成发送的文本消息之后)将其保存在数据库(可能是Realm)或使用应用程序数据(NSCoding)中。
然后,您将拥有一个存储号码的地方,然后可以比较将来在文本字段中输入的任何新号码。
答案 1 :(得分:0)
您可以将电话号码保存为nsuser默认值。当您需要该号码时,您可以从Nsuser默认值
中恢复NSUserDefaults.standardUserDefaults().setObject(phoneNumber.text, forKey: "phone_no")
按上述行,您可以将手机号码存储在nsuserDefault
中然后您可以通过此代码
来检索它NSUserDefaults.standardUserDefaults().valueForKey("phone_no")
你可以用这个替换你的功能
@IBAction func sendText(sender: UIButton) {
if (MFMessageComposeViewController.canSendText()) {
let controller = MFMessageComposeViewController()
controller.body = "Message Body"
if (NSUserDefaults.standardUserDefaults().valueForKey("phone_no") != nil)
{
controller.recipients = [NSUserDefaults.standardUserDefaults().valueForKey("phone_no")]
}
else
{
controller.recipients = [phoneNumber.text]
}
NSUserDefaults.standardUserDefaults().setObject(phoneNumber.text, forKey: "phone_no")
controller.messageComposeDelegate = self
self.presentViewController(controller, animated: true, completion: nil)
}
}