問題タブ [abmultivalue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
134 参照

ios - 「2 項演算子 '<' は 2 つの CFIndex オペランドに適用できません」 - ABMultiValue から電話番号を選択 (アドレス帳)

AddressBook と AddressBookUI を使用してアドレス帳のビューを表示しようとしています。ユーザーは連絡先をタップしてから電話番号をタップすると、アプリが電話番号を受け取ります。ABMultiValue を繰り返し処理して、選択した識別子を持つエントリを見つけようとすると、問題が発生します。ループBinary operator '<' cannot be applied to two CFIndex operandsのある行 (13 行目) でエラー " " が発生します。for

以下にコードを貼り付けました。ありがとう!

0 投票する
1 に答える
52 参照

ios - 並べ替え ABMultiValueRef(kABPersonPhoneProperty)

で電話のプロパティを取得するABAddressBookには、ループを使用します。

編集:私が試したコード:

しかし、これが最良の選択肢だとは思いません..?

たぶん次のようなもの:

連絡先に電話番号の値が複数ある場合は、 でカウントできますABMultiValueGetCount(phones)

さて、例を見てみましょう:

連絡先 « Peter » には、ABAddressBook(電話番号NSLog) に 5 つの電話番号があります:

02 35 00 00 00

07 00 00 00 00

+1(919)949-8234

06 00 00 00 00

9009498923

これらの数字を並べ替えて、1 つだけを に保存したいと思いますNSString

番号が 07 で始まる場合 —> TAKE IT. (に割り当てるNSString)

番号が 06 で始まる場合 —> それを取ります。(に割り当てるNSString)

他の番号の場合 —> 割り当てません。

それらが 2 つの電話番号である場合: 1 つは 06 で、もう 1 つは 07 で、最後に登録されABAddressBookた番号を取得します (または、これが不可能または複雑すぎる場合は、07 で始まる番号を取得します)。

の連絡先ごとにこのループを作成したいと思いますABAddressBook。すべての連絡先には 1 つの番号しかありません (番号が 06 または 07 で始まらない場合は 0)。

私の例では:

ピーターはこの番号を持っています: 07 00 00 00 00