With Storyboards (and the new and improved NSViewController) it's very easy to create popover segues from many different sources. This image shows the simplest of examples; a popover with a text field that changes depending on which button was pressed:

The View Controller for the Popover was subclassed to add a "name" variable, but you can add whatever object(s) you wish to bind to in the view.
The main View Controller implements the prepareForSegue function. Depending on which object was the sender, it sets the PopoverController's "name" property to different values.
Here's all the code that is needed make this example work:
// ViewController.swift
import Cocoa
class PopoverController: NSViewController { var name: String? }
class ViewController: NSViewController {
override func prepareForSegue(segue: NSStoryboardSegue!, sender: AnyObject!) {
if let popoverController: PopoverController? = segue.destinationController as? PopoverController! {
if let button: NSButton? = sender as? NSButton! { switch (button!.title!) {
case "One": popoverController!.name = "First Button"
case "Two": popoverController!.name = "Second Button"
default: true } }
}
}}