19

I am trying to create a CNPostalAddress with some strings in Objective-C. I have street address, city, state, zip and country values. I have tried the code below but it’s not working. Thanks for your valuable time.

CNPostalAddress *postalAddr = [[CNPostalAddress alloc] init];
postalAddr.street = [NSString stringWithFormat:@"%@ %@",street1,street2];// here, I am getting an error: Street property is read only.
Tamás Sengel
  • 55,884
  • 29
  • 169
  • 223
SRI
  • 1,514
  • 21
  • 39

2 Answers2

29

Create a CNMutablePostalAddress instead of a CNPostalAddress:

CNMutablePostalAddress *postalAddr = [[CNMutablePostalAddress alloc] init];
postalAddr.street = [NSString stringWithFormat:@"%@ %@", street1, street2];

CNMutablePostalAddress is a subclass of CNPostalAddress, so you can use it like a CNPostalAddress from this point onward.

Minh Nguyễn
  • 861
  • 7
  • 18
6

The above answer rewritten in Swift:

let postalAddr = CNMutablePostalAddress()
postalAddr.street = String(format: "%@ %@", street1, street2)
Arek
  • 442
  • 7
  • 10