2016-10-05 84 views
1

我使用​​來從用戶手機中的通訊錄。它產生用戶的下列對象當我打印可變serializedContacts我如何可以訪問``Any`類型AnyHashable`斯威夫特?

[[ 
    AnyHashable("name"): { 
     compositeName = "Mary Jones"; 
     firstName = Mary; 
     lastName = Jones; 
    }, 
    AnyHashable("recordID"): 111, 
    AnyHashable("phones"): <__NSSingleObjectArrayI 0x17401c160>({ 
      number = "0411 111 111"; 
    }) 
], 
[ 
    AnyHashable("name"): { 
     compositeName = "Jack Smith"; 
     firstName = Jack; 
     lastName = Smith; 
    }, 
    AnyHashable("recordID"): 112, 
    AnyHashable("phones"): <__NSSingleObjectArrayI 0x17401c190>({ 
     number = "0422 222 222"; 
    }) 
]] 

我可以訪問由簡單的打印serializedContacts[0]單個接觸,雖然我怎樣可以訪問更精細的細節,例如compositeNamenumber

我試圖serializedContacts[0].nameserializedContacts[0].phones,雖然收到錯誤。

類型的值「任何」沒有成員「名稱」。

回答

1

你也應該轉換你想之前訪問AnyHashable財產。你的情況是這樣的:

serializedContacts[0][AnyHashable("name")]