/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import Cocoa protocol UserCollectionViewCellDelegate: AnyObject { func itemDeleted(_ user: User) } final class UserCollectionViewCell: NSCollectionViewItem { weak var delegate: UserCollectionViewCellDelegate? @IBAction func deleteButtonClicked(_ sender: AnyObject) { guard let user = representedObject as? User else { return } delegate?.itemDeleted(user) } func bindViewModel(_ user: User) { representedObject = user textField?.stringValue = user.name } }