我试图CNPostalAddress在Objective-C中创建一些字符串.我有街道地址,城市,州,邮编和国家/地区价值.我已经尝试了下面的代码,但它不起作用.谢谢你宝贵的时间.
CNPostalAddress *postalAddr = [[CNPostalAddress alloc] init];
postalAddr.street = [NSString stringWithFormat:@"%@ %@",street1,street2];// here, I am getting an error: Street property is read only.
Run Code Online (Sandbox Code Playgroud) 我尝试了这个:
let contact = CNMutableContact()
contact.namePrefix = data["firstName"] as! String
contact.nameSuffix = data["lastName"] as! String
contact.organizationName = data["company"] as! String
contact.jobTitle = data["jobTitle"] as! String
let address = CNMutablePostalAddress()
address.street = data["street"] as! String
address.city = data["city"] as! String
address.state = data["state"] as! String
address.postalCode = data["zipcode"] as! String
address.country = data["country"] as! String
contact.postalAddresses = [address]
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Cannot convert value of type 'CNMutablePostalAddress' to expected element type 'CNLabeledValue<CNPostalAddress>'
Run Code Online (Sandbox Code Playgroud)
所以,我尝试了这个:
let contact = CNMutableContact()
contact.namePrefix = data["firstName"] as! String
contact.nameSuffix …Run Code Online (Sandbox Code Playgroud) 我想修改从a 的属性CNPostalAddress获得的a 的值。postalAddressCLPlacemark
由于CNPostalAddress具有不可变的属性,我想将其转换为CNMutablePostalAddress. 然而,似乎没有一种干净的方法可以做到这一点。我目前的方法是这样的:
extension CNPostalAddress {
var mutableAddress: CNMutablePostalAddress {
let address = CNMutablePostalAddress()
address.city = city
address.country = country
address.postalCode = postalCode
address.state = state
address.street = street
[...]
return address
}
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来进行这种转换?