0

在我的“共享位置”功能中,我希望用户能够发送以长/纬度坐标形式共享其当前位置的文本。我实现的错误是“上下文类型“字符串”不能与数组文字一起使用”。如何或什么是正确的代码来实现?

这是我的代码

 @IBAction func shareLocation(sender: AnyObject) {
   // Send user coordinates through text

    if !MFMessageComposeViewController.canSendText() {
        print("SMS services are not available")

        var coordinate: CLLocationCoordinate2D

        messageVC!.body = [coordinate.latitude, coordinate.longitude];
        messageVC!.recipients = [LookoutCell.description()];
        messageVC!.messageComposeDelegate = self;


        self.presentViewController(messageVC!, animated: false, completion: nil)
    }
}
4

1 回答 1

1

这段代码有很多问题:

  1. 您正在检查是否不能通过 发送文本!MFMessageComposeViewController.canSendText(),如果不能发送则发送(括号需要提前结束)
  2. 你声明var coordinate: CLLocationCoordinate2D没有价值,这不会编译
  3. 纬度和经度是双倍的,因此您需要字符串格式来输出这些值
  4. body是一个字符串,您试图向它发送一个数组。
  5. 试试这个:messageVC!.body = String(format: "Lat: %.4f, Long: %.4f", coordinate.latitude, coordinate.longitude)-您需要查看格式指南以获取更多详细信息(您可以从这里开始)
于 2016-04-28T07:07:39.950 回答