Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 为什么自动分配的纬度和经度在SwiftUI中不起作用?_Ios_Swift_Xcode_Swiftui - Fatal编程技术网

Ios 为什么自动分配的纬度和经度在SwiftUI中不起作用?

Ios 为什么自动分配的纬度和经度在SwiftUI中不起作用?,ios,swift,xcode,swiftui,Ios,Swift,Xcode,Swiftui,我遇到了一个问题,设置了位置管理器和CLLocation,获取经度和纬度,将日程计算方法传递给它,该方法根据位置、时间和日期进行计算。事实上,进度表确定不正确,如果手动将纬度降低到方法中,则正确的进度表将是,问题是什么?可以访问用户的位置。我还注意到,当应用程序启动时,我还没有点击使用我的位置,出于某种原因,时间表已经准备好了,但不正确 extension PrayerTimes { init?(coordinates: CLLocation) { let calendar

我遇到了一个问题,设置了位置管理器和CLLocation,获取经度和纬度,将日程计算方法传递给它,该方法根据位置、时间和日期进行计算。事实上,进度表确定不正确,如果手动将纬度降低到方法中,则正确的进度表将是,问题是什么?可以访问用户的位置。我还注意到,当应用程序启动时,我还没有点击使用我的位置,出于某种原因,时间表已经准备好了,但不正确

extension PrayerTimes { 
init?(coordinates: CLLocation) {
    
    let calendar = Calendar(identifier: Calendar.Identifier.gregorian)
    let components = calendar.dateComponents([.year, .month, .day], from: Date())
    var params = CalculationMethod.karachi.params
    params.madhab = .hanafi
    
    
    self.init(
        coordinates: .init(
            latitude: 37.992843,
            longitude:  32.848393),
        date: components,
        calculationParameters: params)
}
}
我有分机

 extension CLLocation {
var latitude: Double {
    return self.coordinate.latitude
}

var longitude: Double {
    return self.coordinate.longitude
}
}
我为我的场景大使写

         if let prayerTimes = PrayerTimes(coordinates: .init(latitude: 35.78056, longitude: 78.6389)) {
              
              let prayers = Prayer.make(players: prayerTimes)
              
              PrayerManager.shared.configure(prayers: prayers, timeInterval: 1)
          }
我听到的位置文件:


我不明白为什么当我在自动模式下获得坐标时,但时间表不正确,如果我手动写入某个城市的坐标,那么一切都正常。请帮助)

您可以显示您处理更新位置的接收的代码吗?这段代码与更新模型和视图有什么关系?我使用adhan框架,你可以在我的帖子中通过链接看到位置管理器,我在管理器中获取位置,并将其传递到SceneDelegate文件:@ObservedObject var lm=LocationManager()let lat=lm.Location?.latitude??0让log=lm.位置?经度??0如果让rajertimes=rajertimes(坐标:.init(纬度:lat,经度:log))可能我做错了什么)没有识别位置是异步的;这需要时间。您必须实现一个location manager委托才能实现这一点。链接到的代码并不真正适合您的任务,因为您不希望在位置更改时直接更新SwiftUI视图,而是希望更新模型的另一个方面(祈祷时间)。当这种情况发生变化时,您希望更新视图。那么我需要做什么?请给出一个正确的例子,你能告诉我你在哪里处理一个更新位置的收据吗?这段代码与更新模型和视图有什么关系?我使用adhan框架,你可以在我的帖子中通过链接看到位置管理器,我在管理器中获取位置,并将其传递到SceneDelegate文件:@ObservedObject var lm=LocationManager()let lat=lm.Location?.latitude??0让log=lm.位置?经度??0如果让rajertimes=rajertimes(坐标:.init(纬度:lat,经度:log))可能我做错了什么)没有识别位置是异步的;这需要时间。您必须实现一个location manager委托才能实现这一点。链接到的代码并不真正适合您的任务,因为您不希望在位置更改时直接更新SwiftUI视图,而是希望更新模型的另一个方面(祈祷时间)。当这种情况发生变化时,您希望更新视图。那么我需要做什么?请举一个正确的例子