从朋友档案到朋友数据Firebase

时间:2016-10-03 15:07:15

标签: objective-c firebase firebase-realtime-database firebase-authentication firebase-storage

我的应用程序使用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)

在此页面上,是一个条形按钮项目,它将用户带到显示更多数据的表格视图,但我目前只能根据用户选择的个人资料显示用户数据而不是他们的特定朋友。 / p>

我访问的数据库如下所示:

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;

}

然后在包含带有firebaseQuery的MyFriendsTopics.h:的tableView的视图中引用该代码

@interface MyFriendsTopics : FriendsTopicsList

以下是查询:

-(FIRDatabaseQuery *)getQuery {


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

现在我知道getUid是显示当前用户数据的原因,但我不知道应该在什么位置显示朋友的详细信息。我非常困惑,需要指向正确的方向。

我是否需要使用朋友档案中的栏按钮项目将字典作为发件人传递?并且在视图中调用它确实加载为cell.textLabel的参考?

0 个答案:

没有答案