如何将您使用 imagepicker 上传的照片保存为新帖子?
Posted
技术标签:
【中文标题】如何将您使用 imagepicker 上传的照片保存为新帖子?【英文标题】:How to save the photo you uploaded with imagepicker as a new post? 【发布时间】:2021-12-29 22:01:00 【问题描述】:我有一个tableView
和viewController
。我需要使用图像选择器添加一张照片(我已经这样做了),然后我需要将其与描述一起保存为我的 tableView 中的新帖子。最好的方法是什么?
我已经找到了如何在tableView
中将文本添加为新单元格的信息,但这不是我想要的。
这是我的代码
@IBAction func photoButton(_ sender: UIButton)
let vc = UIImagePickerController()
vc.sourceType = .photoLibrary //phppicker
vc.delegate = self
vc.allowsEditing = true
present(vc,animated: true)
@IBAction func saveButtonPressed(_ sender: UIButton)
extension NewPostScreenController : UIImagePickerControllerDelegate , UINavigationControllerDelegate
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any])
UIImagePickerController.InfoKey(rawValue: "")
if let image = info[UIImagePickerController.InfoKey(rawValue: "UIImagePickerControllerEditedImage")] as? UIImage
ChangeImage.image = image
picker.dismiss(animated: true, completion: nil)
func imagePickerControllerDidCancel(_ picker: UIImagePickerController)
picker.dismiss(animated: true, completion: nil)
我应该在saveButtonPressed
中添加什么?
【问题讨论】:
【参考方案1】:我的建议是确保将问题分解为多个部分。您的解决方案可能至少需要以下几点:
-
您需要一个委托/协议方法来向 tableView 发出 UIPickerView 获得图像的信号。然后,您需要以某种方式将该图像传递回 tableView。
在分配给 tableView 的 TableViewDataSource 中,您需要接收信号并对其进行处理:
您可能需要一个包含 UIImageView 子视图或 UIImage 属性的 UITableViewCell 子类。有很多方法可以对此进行皮肤处理,但可能最简单的方法是使用情节提要中的原型单元并进行自动布局+连接插座。其他可能性是创建一个带有 xib 的 CocoaTouch 类,并在您的 cellForRowAt 函数中调用它。
您需要为 TableViewDelegate 在 cellForRowAt 中的所述自定义 UITableViewCell 中设置 UIImage
当您收到收到新图像的信号时,您可能希望在委托函数中调用 tableView.reloadTable,以便在用户完成后重新加载。
【讨论】:
这就是我要找的,tnx 很高兴我能帮上忙!【参考方案2】:请记住,您需要在 tableView 中实现 UITableViewCell 以显示帖子。
现在,要保存帖子并且在关闭应用程序时不会删除这些帖子,我建议使用 UserDefaults 或 Core Data 将帖子仅保存在您的手机中,或者使用 Firebase 将帖子保存在数据云中。 使用 firebase,您无需编写服务器代码即可保存数据。
Firebase 页面 https://firebase.google.com
【讨论】:
以上是关于如何将您使用 imagepicker 上传的照片保存为新帖子?的主要内容,如果未能解决你的问题,请参考以下文章
React 使用antd imagePicker选择并上传图片