0

ユーザーが友達を選択できるようにするがありFBFriendsPicker、その選択は自分の配列に保存されますが、ユーザーがfriendspickerもう一度入力すると、選択した友達を確認できるようにしたいと考えています。現在、フレンド名の横にあるVサインは、ユーザーが [ OK]または[キャンセル] を押すたびに消えるため、最初から選択を開始するたびに表示されます。

これが私がこれまでに持っているものです:

selectedFriends配列です。ご覧のとおり、ユーザーが友達を選択した場合、ユーザーが選択したものをユーザーが選択するたびに表示するというifステートメントを作成しようとしましたfriendsPicker が、これfriendPicker.selectionは読み取り専用プロパティであるため、配列をそれに割り当てることができず、警告。

if (FBSession.activeSession.isOpen) {
        FBFriendPickerViewController *friendPicker = [[FBFriendPickerViewController alloc] init];
        friendPicker.delegate = self;
        if ([selectedFriends count] > 0 )
        {
            friendPicker.selection = selectedFriends; //<--- NOT ASSIGNABLE
        }



        ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(nil, nil);
        ABPersonSortOrdering sortOrdering = ABPersonGetSortOrdering();
        ABPersonCompositeNameFormat nameFormat = ABPersonGetCompositeNameFormat();

        friendPicker.sortOrdering = (sortOrdering == kABPersonSortByFirstName) ? FBFriendSortByFirstName : FBFriendSortByLastName;
        friendPicker.displayOrdering = (nameFormat == kABPersonCompositeNameFormatFirstNameFirst) ? FBFriendDisplayByFirstName : FBFriendDisplayByLastName;

        [friendPicker loadData];
        [friendPicker presentModallyFromViewController:self
                                              animated:YES
                                               handler:^(FBViewController *sender, BOOL donePressed) {
                                                   if (donePressed) {
                                                       selectedFriends = friendPicker.selection;
                                                       //   [self updateSelections];
                                                   }
                                               }];
        CFRelease(addressBook);
4

1 に答える 1

0

のコードをデバッグすると、読み取り専用として定義されてFBFriendPickerViewControllerいるプロパティが実際には.selectionNSArrayNSMutableArray

だからあなたができることは次のようなものです:

NSMutableArray *selection = (NSMutableArray *) fbFriendPickerController.selection;

[selection removeAllObjects];

for (FBGraphObject *user in selectedFriends) {

    [selection addObject:user];
}
于 2013-08-14T13:32:00.817 に答える