ios


Segue to chat viewcontroller


I have included images to hopefully make this easier to understand. My FirstViewController has a collection view with a list of users from my firebase database.When I click on the users I am segued to a DetailedViewController that has more information about the user that was clicked. Within that viewController, the goal is to click on the compose button and segue to a viewController that allows me to chat with the user, whose profile I clicked on.
I have gotten as far as this for segueing from DetailedViewController to Message user 1.
#IBAction func SendMessage(_ sender: Any) {
performSegue(withIdentifier: "chat", sender: self)
}
I am not sure how to make sure I am sending the particular user I click on a message.
This is how I am passing data from FirstViewController to DetailedViewController.
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "details" {
if let indexPaths = self.CollectionView!.indexPathsForSelectedItems{
let vc = segue.destination as! BookDetailsViewController
let cell = sender as! UICollectionViewCell
let indexPath = self.CollectionView!.indexPath(for: cell)
let post = self.posts[(indexPath?.row)!] as! [String: AnyObject]
let Booked = post["title"] as? String
vc.Booked = Booked
print(indexPath?.row)
} }
One route to take is in your DetailViewController class, or whatever class you have implementing "performSegue(withIdentifier:, sender:)", add this:
override public func prepare(for segue: UIStoryboardSegue, sender: Any?) {
guard segue.identifier == "chat", let dest = segue.destination as? ChatViewController else {
return
}
dest.person = self.person
}
I don't know how you have the person's properties declared but if person is an object, do what I have above, if the it's individual properties, do
dest.name = self.name
dest.number = self.number //etc
prepare(for segue:, sender:) allows you to intercept any segue from that class and set up any variable need before the performSegue(...) executes. Make sure you identify the segue in some way otherwise the code will execute on all segues implemented in the class. In my example I used your segue's identifier.

Related Links

Reducing the width of truncation in UILabel
Appcelerator : Hide Statusbar on Splashscreen , iOS
NIL when Parsing JSON
'Warning:Attempt to present ^ on UINavigationController: 0x7d090c00 while a presentation is in progress!'on using the UIPopoverPresentationController
How to implment custom UICoordinateSpace?
why my NSIndexPath value is not [0,1] but [0,64],how could I get [0,1]?
how to animate setting rootViewController for window
Crash when accessing nested completion block — EXC_BAD_ACCESS
UIButton border color defaults to black. How can it be changed to the default ( blue ) color that is used for setting the title of the button text?
navigation bar hides on resturning back to search controller from another view controller
How to avoid text color to change on UIButton selection with selectors on UIControlEvents?
my table view is created but array is not showing in table view,in console all the data are coming.please help me to solve json parsing
Dropbox UIDocumentPicker plugin cannot open OS X file packages
How to use delegates properly in Swift?
swift stop 360 degree animation
Core Data App group synchronization (w/ extension)

Categories

HOME
opencl
auth0
servlets
spring-roo
fonts
saml
quickblox
jqgrid
asciidoc
reload
partitioning
aar
pywin32
abaqus
textmatebundles
stm32f4discovery
media-source
jmeter-plugins
semantics
google-oauth2
apache-httpcomponents
pdfa
google-geocoder
sql-server-2014-express
expression-trees
plm
ruamel.yaml
file-manager
charts.js
skyscanner
google-shared-contacts
mobilefirst-bluemix
dashboard-designer
capstone
pymssql
packaging
flags
drupal-webform
rtems
distributed-lock
hostapd
adal.js
sql-mode
stroke
mashery
haste
lapply
mailcore2
heritrix
pypyodbc
jca
docklight
lidar
wgs84
readline
spymemcached
appv
puppet-enterprise
computer-science-theory
imaging
xacml3
jquery-backstretch
xsltforms
jqgrid-php
blazeds
lightstreamer
dfsort
jquery-mobile-popup
siblings
rcu
kmz
symfony-2.2
guvnor
libavg
calloc
ad-hoc-distribution
vim-fugitive
formsauthentication
.net-1.1
high-traffic

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App