gpt4 book ai didi

ios - 检查坐标有效性 - UITextField - iOS

转载 作者:行者123 更新时间:2023-11-28 21:40:09 24 4
gpt4 key购买 nike

我有一个带有两个 UITextFields 的 iOS 应用程序,它允许用户手动输入纬度和经度坐标。令我困惑的一件事是,如何确保输入的数据是有效坐标?

  • 坐标只能是数字
  • 坐标可以有减号。
  • 坐标中不能有空格。

你说我还应该做其他检查吗?

我如何检查 UITextField.text 是否有字母和数字?我可以使用正则表达式吗?

更新

为了澄清我的问题,这些是我要检查的字符串类型:

  • -2.42353463466(有效)
  • 32.131ertf22(无效 - 它包含字符)
  • 1.23141 4124(无效 - 包含空格)

最佳答案

您可以使用 Regex 来验证数字,但更简单的方法可能是尝试将每个文本字段的字符串值转换为 double使用 NSNumberFormatter看看它是否有效:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
numberFormatter.numberStyle = NSNumberFormatterDecimalStyle;

NSNumber *number = [numberFormatter numberFromString:myTextField.text];

if (number != nil) {
// The number is correct!
double coordinate = number.doubleValue;
NSLog(@"Coordinate: %f", coordinate);
} else {
// The number is incorrect!
NSLog(@"Invalid coordinate entered.");
}

一旦你同时拥有了 double s 为每个坐标部分,然后你可以形成一个 CLLocationCoordinate2D使用 CLLocationCoordinate2DMake功能。

在形成你的 CLLocationCoordinate2D 之后, 您可以使用 CLLocationCoordinate2DIsValid函数来检查纬度和经度部分是否在正确的范围内。

关于ios - 检查坐标有效性 - UITextField - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32475806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com