Переход из профиля друзей в базу данных друзей

#objective-c #firebase #firebase-realtime-database #firebase-authentication #firebase-storage

#objective-c #firebase #firebase-база данных в реальном времени #firebase-аутентификация #база данных-хранилище

Вопрос:

Мое приложение использует Firebase с логином Facebook. Мне удалось настроить свое приложение так, чтобы у пользователя был свой профиль и он мог просматривать профили других пользователей. Когда текущий пользователь переходит к своему профилю друзей, он видит свои данные.

У меня есть элемент кнопки панели в профиле их друзей, который ссылается на TableView, отображающий больше данных, но я могу получить этот tableview только для отображения данных текущих пользователей, а не их друзей. Позвольте мне показать, что у меня есть на данный момент.

Текущий пользователь может просматривать изображения своих друзей в представлении коллекции и выбирать изображение, чтобы перенести их в этот конкретный профиль.

     override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
    self.performSegueWithIdentifier("FriendsProfile", sender: self.usersArray[indexPath.row])
}


override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    super.prepareForSegue(segue, sender: sender)


    let navVc = segue.destinationViewController as! UINavigationController
    let friendsVc = navVc.viewControllers.first as! FriendsViewController
    friendsVc.receiverData = sender

}
  

Затем, когда они находятся в профиле друзей, Чтобы отобразить изображение друзей, имя и т. Д. В представлении, загруженном, Я вызываю:

     let imageUrl = NSURL(string: receiverData?.objectForKey("profile_pic") as! String)

    let imageData = NSData(contentsOfURL: imageUrl!)

    friendsImage.image = UIImage(data: imageData!)
   self.configureName(receiverData?.objectForKey("Name")as? String)
  

На этой странице есть элемент кнопки панели, который приведет пользователя к табличному представлению, отображающему больше данных, но в настоящее время я могу отображать только данные пользователей, а не их конкретных друзей, основываясь на том, чей профиль они выбрали.

База данных, к которой я обращаюсь, выглядит следующим образом:

 user-posts
       user-id
             key
               title:
               notes:
  

И я получаю к нему доступ, настраивая код следующим образом в FriendsTopicList.m :

 -(void)viewDidLoad {
[super viewDidLoad];


self.ref = [[FIRDatabase database] reference];

self.dataSource = [[FriendsDataSource alloc] initWithQuery:[self getQuery] modelClass:[Topic class]  
cellReuseIdentifier:@"post" view:self.tableView];




[self.dataSource populateCellWithBlock:^(FriendsTableViewCell *_Nonnull cell, Topic *_Nonnull topics) {




    cell.textLabel.text = topics.title;


    cell.textLabel.textColor = [UIColor whiteColor];
    cell.backgroundColor = [UIColor colorWithRed:(16/255.0) green:(17/255.0) blue:(23/255.0) alpha:1];
    cell.textLabel.font = [UIFont fontWithName:@"Helvetica Neue" size:18];

    UIView *selectionColour = [[UIView alloc] init];
    selectionColour.backgroundColor = [UIColor blackColor];
    cell.selectedBackgroundView = selectionColour;
}];

self.tableView.dataSource = self.dataSource;
self.tableView.delegate = self;
//    self.tableView.backgroundColor = [UIColor blackColor];




}


-(NSString *)getUid {
    return [FIRAuth auth].currentUser.uid;

}
  

А затем ссылка на этот код в представлении, содержащем TableView, вызывается MyFriendsTopics.h: с помощью firebaseQuery

 @interface MyFriendsTopics : FriendsTopicsList
  

Вот запрос:

 -(FIRDatabaseQuery *)getQuery {


return [[self.ref child:@"user-posts"] child:[super getUid]]; 
}
  

Теперь я знаю, что getUid является причиной отображения данных текущих пользователей, но я не понимаю, что должно быть на его месте для отображения сведений о друзьях. Я просто очень смущен, и мне нужно указать правильное направление.

Нужно ли мне передавать словарь в качестве отправителя с помощью элемента кнопки панели в профиле друзей? И вызовите, что в представлении загружалось в качестве ссылки для cell.textLabel ?

Комментарии:

1. Любая помощь будет оценена, я в значительной степени схожу с ума в данный момент