問題タブ [abrecordref]
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.
multithreading - iPhone:アドレス帳が時々消去される
私ABAddressBook
は自分のアプリでを使用しています。
ABへのアクセスは、UIを解放するために別のスレッドから行われます。
ABインスタンスへのアクセスは常に同じスレッドからでなければならないという事実を認識しており、この理由でラッパーを作成しました。
ラッパーはシングルトンであり、独自のバックグラウンドスレッドを維持します。
ラッパーに届くすべてのメッセージは自動的にバックグラウンドスレッドにリダイレクトされますが、呼び出し元のスレッドは実装が終了するまで待機し、最後に関連データ(連絡先リスト、特定の連絡先など)を引数に入力します。
それでも、デバイスのアドレス帳が空になる(消去される)ことがあります。
アプリの10〜20回目の使用ごと。
だから、私はいくつかの質問があります:
- 専用スレッドのABからABRecordRefを取得した後、同じスレッドのABRecordRefからデータを取得する必要がありますか、それとも別のスレッドである可能性がありますか?ABRecordRefのラッパーもあるので、ABから連絡先を取得するときは、personラッパーオブジェクトに入力し、その後、元のスレッドからそれを使用します(ABRecordRefから読み取ります)。
- AB UI API(パーソンピッカーナビゲーションコントローラー、新しいパーソンビューコントローラーなど)を使用してそれらにABAddressBookのインスタンスを渡す場合、APIが同じスレッドからのこのABインスタンスを使用しないという事実を心配する必要があります。それを作成しましたか?ABインスタンスの代わりにNULLを渡すことができ、APIが独自のABを使用することを確認しましたが、連絡先を変更する場合はどうすればよいですか?この場合、ABRecordRefインスタンスを渡す必要があります...
- 私が考えていなかった他の何かがありますか?
前もって感謝します。
-
マイケル
objective-c - ABGroupCreateの問題
iOS アドレス帳へのグループの追加に問題があります。シミュレーターではすべてがうまく機能し、グループを追加して連絡先を割り当てます。ただし、同じアプリケーションが iPhone または iPad で実行されている場合、グループは作成されないため、新しい連絡先はその特定のグループに割り当てられません。
メソッド ABGroupCreate はエラーを返しません。
解決策を教えてください。:)
objective-c - 戻り値の型は何ですか?
thisPerson は ABRecordRef です
ありがとう
iphone - NSUserDefaults へのデータの保存
私の iPhone アプリには、特定の連絡先への参照として機能するContact
で構成されると呼ばれるクラスがあります。ABRecordRef
これらの連絡先のグループを に保存する必要がありますが、 はカスタム クラスであるNSUserDefaults
ため、うまくいきません。Contact
この場合、何をすべきかについてのアイデアはありますか?
iphone - 連絡先が選択された後、AddressBookから削除されます
私は自分のアプリケーションとiPhoneのAddressBookとの統合に取り組んでいます。これが私のプログラムの流れです。
- ユーザーが連絡先をインポートしたい
- アプリは「ABPeoplePickerNavigationController」をユーザーに提示します。
- ユーザーは必要な連絡先を選択します。
- デリゲートメソッドは次のように呼び出されます。
コードは次のとおりです。
5:- (void)showNewContactViewThroughController:withRecord:
でAbNewPersonViewControllerを作成します。
そしてそれを押します。
6:ユーザーが「キャンセル」を押してABNewPersonViewControllerビューを終了します。
7:連絡先アプリを確認します。手順3で選択した連絡先がなくなります。プーフ、なくなった、削除された、削除された。
この問題を修正するために、ABRecordRefを(インスタンス変数 "selectedContact"に)保存します。次に、- (void)newPersonViewController:didCompleteWithNewPerson:
私は持っています:
ただし、これは何もしないようです。コードは実行されますが、「OldContact」であるself.selectedContactはAddressBookに保存されません。だから、私の連絡先はまだ消えています。私は何が間違っているのですか?ABNewPersonViewControllerで[キャンセル]をクリックした場合、アドレス帳から提供されたデータが「削除」されたように見えますか?それで私がそれを与える人はそれから死ぬのですか?どんな助けでもいただければ幸いです!
iphone - ABRecordRef のすべてのプロパティのリストを取得するにはどうすればよいですか?
kABPersonFirstNameProperty、kABPersonLastNameProperty の iOS 定義済みキーを使用せずに、ABPersonRef および ABGroupRef のすべてのプロパティのリストを取得したいと考えています...アドレス帳で遊んでいて、特定の人。事前定義されたキーがあることは知っていますが、Apple は将来新しいキーを追加する可能性が非常に高いので、次のようなことをしたいと思います。
後でループする必要がある複数値の項目に遭遇することはわかっていますが、目標は、単一値のプロパティに対して反復できるキーのリストを取得することです。返されたクラスが何であるか、NSArray、NSDictionary などは気にしません。
アドバイスをいただければ幸いです。
iphone-sdk-4.1 - ABRecordRefの配列を格納します
ABRecordRef
これを別のクラスで後で使用できるように、リストを保存してアクセスするにはどうすればよいですか?
ios - アドレス帳にレコードを追加する
ABPeoplePickerNavigationControllerを使用せずにアドレス帳に新しいレコードを追加するにはどうすればよいですか?
core-data - ABRecordRefをコアデータに保存する
ABRecordRefをコアデータの「クライアント」エンティティに保存したいと思います。
ABRecordRefがプリミティブCデータ型であることをリンゴのドキュメントで読みました。私の知る限り、オブジェクトを挿入できるのはコアデータのみです。これを念頭に置いて、コアデータに保存するための最良の方法は何ですか?
ストレージ用にNSNumberに変換することを考えましたが、使用するためにABRecordRefに変換し直す方法がわかりません。
また、ラッパーとして機能するだけでNSArray / NSSet / NSDictionaryに入れることができると思いましたが、これがばかげている/非効率的である/機能するかどうかさえわかりませんでした。
感謝します。
どうもありがとう
iphone - iPhone で ABPersonViewController を閉じることができません
ABPersonViewController を閉じるにはどうすればよいですか? これが私のコードです
.h ファイルで ABRecordRef レコードとして宣言された ivar のレコード。ABPersonViewControllerDelegate メソッドが呼び出されることはありませんか? 何がうまくいかないのですか?どんな種類の助けも大歓迎です。ありがとう