title: ABMultiValue address book multi-value properties compile error in Swift
body: <p>Code works in Objective-C, trying to convert to Swift.  I've provided the working Objective-C code and the Swift code that gives a compile error on line 10 (the <code>for subValue in aPropertyValue ...</code> fast enumerator.  Swift error "Type 'ABMultiValue' does not conform to protocol 'SequenceType'".</p>
  
  <p>Some <code>ABPerson</code> properties may contain multiple values (for example multiple phone numbers) and are objects of the <code>ABMultiValue</code> class (although Xcode debugger reports them as <code>ABMultiValueCoreDataWrapper</code> class). The attached Objective-C code loops through the multiple values.  I am trying to do the same in Swift but can not get past the compile error.  Both are Xcode Command Line projects.   </p>
  
  <p>The Objective-C code:</p>
  
  <pre><code>#import &lt;Foundation/Foundation.h&gt;
  #import &lt;AddressBook/AddressBook.h&gt;
  int main(int argc, const char * argv[]) {
      @autoreleasepool {
          ABAddressBook *addressBook = [ABAddressBook sharedAddressBook];
          NSArray *people = [addressBook people];
          for (ABPerson *person in people) {
              for (NSString *aProperty in [ABPerson properties]) {
                  id aPropertyValue = [person valueForProperty: aProperty];
                  if ([aPropertyValue isKindOfClass: [ABMultiValue class]]) {
                      for (id subValue in aPropertyValue) {
                          NSLog(@"%@",subValue);
                      }
                  }
              }
          }
      }
      return 0;
  }
  </code></pre>
  
  <p>The swift code:</p>
  
  <pre><code>import Foundation
  import AddressBook
  let addressBook = ABAddressBook.sharedAddressBook()
  let people = addressBook.people()
  for person in people {
      for property in ABPerson.properties() {
          if let aPropertyValue : AnyObject = person.valueForProperty(property as NSString) {
              if aPropertyValue is ABMultiValue {
  //                for subValue in aPropertyValue {
                  for subValue in aPropertyValue as ABMultiValue {
                      println("\(subValue)") 
                  }
              }
          }
      }
  }
  </code></pre>