如果我们点击任何个人资料图片,它将导致他们的个人资料视图。即使在相同的视图中,如果用户点击其他人的个人资料Pic,如在“关注者”列表中,那么它应该导致他们的个人资料View.But View控制器是相同的。只有与Facebook
和Twitter
相同的功能。我需要实现这个功能。但我不知道如何实现这一过程。为多个用户使用相同的配置文件UIViewController
。
或者还有其他方法可以实现这个功能吗?请指导我如何实现这个过程。
例如: VC1 is myprofileVC
和VC2 is friendsProfileVC
。我在myprofileVC(VC1)
中选择了朋友的Pic,在friendsProfileVC(VC2)
中选择了loadingData。然后,如果我在another person's ProfilePic
中选择friendsProfileVC(VC2)
表示它应该在哪里领导?或者该怎么办?如何加载新选择的人的ProfileView?在同一个(VC2)或?在这个地方只是我迷茫!!
参考图片:
答案 0 :(得分:3)
假设我们有2个viewControllers,第一个是类FriendViewController
,另一个是类UserViewController
。
我们在UserViewController
。当您点击图像时
指定用户使用用户拥有的ID检查您的ID。
根据用户ID,如果用户ID与您的用户ID相同,则您点按了图片,因此您无需转到其他viewController,因此只需重新加载数据即可进行更新。
否则用户ID不同,我们正在与另一个用户打交道,所以我们要去另一个FriendViewController。这样做的例子:
FriendViewController *fc = [[FriendViewController alloc]init];
[self.storyboard instantiateViewControllerWithIdentifier:@"friendvcID"];
fc.stuff = stuff;
[self.navigationController pushViewController:fc animated:YES];
现在我们在FriendViewController,如果依赖于我们点击的图像,如果我们将它与我们的id相同,我们将导航到我们的个人资料,所以我们要做的是检查我们是否已将它添加到我们的navigationStack中,如果我们不这样做,我们需要推动。
//Check if we have userProfile on navigationStack
if ([self hasUserProfileOnStack]!=-1)
{
//We have it on specific index, so we are popping to that viewController, which is UserViewController
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:[self hasUserProfileOnStack]] animated:YES];
}
else
{
//We dont have it in navigationStack so we are pushing it
UserViewController *fc = [[UserViewController alloc]init];
[self.storyboard instantiateViewControllerWithIdentifier:@"uservcID"];
fc.stuff = stuff;
[self.navigationController pushViewController:fc animated:YES];
}
//Method which helps us to find if we have it to navigationStack by returning the index on navigationControllers
-(NSInteger)hasUserProfileOnStack
{
for (NSInteger i=0; i<[self.navigationController.viewControllers count]; i++)
{
if ([[self.navigationController.viewControllers objectAtIndex:i] isKindOfClass:[UserViewController class]]) {
return i;
}
}
return -1;
}
如果该ID与我们的ID不同,那么我们只需执行第3步
这是我现在可以给你的信息,用文字解释有点困难,但这就是我在这里解释的方法。希望它有所帮助
答案 1 :(得分:1)
您应该从头开始学习iOS编程,并开始逐步开发应用程序。有很多网站和书籍供您学习。我建议Ray Wenderlich,因为它有很棒的iOS教程。
参考你的问题,我正在开发一个社交iOS应用程序,现在通过以下方式实现:
无论如何,我觉得你实现这些事情还为时尚早,你必须一步一步地学习iOS,练习将为你提供实现伟大事业的经验。