Ios CLPlacemark“name”返回街道地址,而“Throughtree”仅返回街道名称

Ios CLPlacemark“name”返回街道地址,而“Throughtree”仅返回街道名称,ios,swift,Ios,Swift,我正在从CLPlacemark上取下地址字典,我没有发现任何错误或任何东西,但这些键似乎与苹果文档中显示的不一致 从CLPlacemark类: // address dictionary properties var name: String! { get } // eg. Apple Inc. var thoroughfare: String! { get } // street address, eg. 1 Infinite Loop var subThoroughfare: String!

我正在从CLPlacemark上取下地址字典,我没有发现任何错误或任何东西,但这些键似乎与苹果文档中显示的不一致

从CLPlacemark类:

// address dictionary properties
var name: String! { get } // eg. Apple Inc.
var thoroughfare: String! { get } // street address, eg. 1 Infinite Loop
var subThoroughfare: String! { get } // eg. 1
...
但当我得到placemark.name时,它返回街道地址,例如1无限循环。当我得到placemark.Throughtree时,它只返回街道名称,而不是应该返回的号码。placemark.Subthoraughture确实包含建筑编号,尽管目前我只是将Subthoraughture和Throughway连接起来,但我担心如果placemark.Throughway返回编号和街道名称,我偶尔会得到两个建筑编号


这是一个bug还是什么?我能指望像这样连接字符串吗?

在我看来,这些注释中有一个错误。阅读表明,大道只会返回街道名称,正如你所说:

街道地址包含街道名称。例如,如果placemark位置是Apple的总部,则此属性的值将是字符串“无限循环”

阅读相同的文档,在下面,看起来你也在那里:

地下通道提供位置的街道号等信息。例如,如果placemark位置是Apple的Hearters 1 Infinite循环,则此属性的值将是字符串“1”

至于名称,这只是系统对placemark的名称。对于某些地方,它只是地址。对于其他系统有更多信息的人来说,我相信这将是一个更加用户友好的沃尔玛、Stack Exchange办公室等

不过,您的意图似乎只是为了获取地名的地址。为此,我将使用该属性,并让系统处理令人讨厌的部分:

address = ABCreateStringWithAddressDictionary(myPlacemark.addressDictionary, false);

请注意,我相信这将为您提供系统的最佳解释,其中可能包括城市、州、邮政编码等。

在我看来,这些评论中似乎存在错误。阅读表明,大道只会返回街道名称,正如你所说:

街道地址包含街道名称。例如,如果placemark位置是Apple的总部,则此属性的值将是字符串“无限循环”

阅读相同的文档,在下面,看起来你也在那里:

地下通道提供位置的街道号等信息。例如,如果placemark位置是Apple的Hearters 1 Infinite循环,则此属性的值将是字符串“1”

至于名称,这只是系统对placemark的名称。对于某些地方,它只是地址。对于其他系统有更多信息的人来说,我相信这将是一个更加用户友好的沃尔玛、Stack Exchange办公室等

不过,您的意图似乎只是为了获取地名的地址。为此,我将使用该属性,并让系统处理令人讨厌的部分:

address = ABCreateStringWithAddressDictionary(myPlacemark.addressDictionary, false);

请注意,我相信这将为您提供系统的最佳解释,它可能包括城市、州、邮政编码等。

Ahhh!好的,是的。我没有仔细阅读文档,没有注意到它们与代码注释不一致。谢谢你@克里斯蒂安,你可能会考虑对他们进行一个雷达,他们很容易改变评论,防止像你这样的混乱。好的,是的。我没有仔细阅读文档,没有注意到它们与代码注释不一致。谢谢你@克里斯蒂安,你可能会考虑对它进行一个雷达,很容易改变评论,防止像你这样的混乱。