タイトルに示されているように、swiftを使用している私のiOSアプリケーションでは、CNContactPropertyオブジェクトがあり、その文字列として電話番号を抽出します。iOS Swift:CNContactPropertyから選択した電話番号を文字列として取得します。
CNContactプロパティは、ユーザーが連絡先を選択すると、標準のCNContactPickerViewControllerからデリゲートプロトコル関数を介して返されます。
連絡先に複数の電話番号がある場合、連絡先ビューでCNContactPropertyからタップした電話番号を抽出できます。
私はこのような何かをしようとしている:
let myString = theCNContactProperty.value as! String
しかし、これは(lldb)エラーでクラッシュします。私はおそらく "価値"のプロパティは私が必要なものではないと思う?私はそうのような任意の番号を取得することができるよ
:
let myString = contactProperty.contact.phoneNumbers[0].value.stringValue
接触が持っている最初の数を返します。しかし、連絡先に1つ以上の番号がある場合、ユーザーが選択した特定の番号を抽出できるようにするために、これは私の目的には役立ちません。
私はこれを数時間にわたってやってきましたが、それを理解することができませんでした。
編集:これは、提供されたリンクの複製ではありません。リンクされた質問は、連絡先からすべての番号を取得することであり、特に選択されたものではありません。それには大きな違いがあります。
'theCNContactProperty.value'の種類は何ですか? – dan
"any"タイプの値です。私はそのデータが何を表しているのかも分かりませんが、 "価値"はそれが私が探しているものかもしれないことを示唆しています。 しかし、そういう文字列としてキャストしようとするとクラッシュします: let test = contactProperty.value as! String – b1skit
2番目の例はこれを行う唯一の方法ですので、選択した番号のインデックスを取得する方法を考え出す必要があります。 – Timmy