如何将您使用 imagepicker 上传的照片保存为新帖子?

Posted

技术标签:

【中文标题】如何将您使用 imagepicker 上传的照片保存为新帖子?【英文标题】:How to save the photo you uploaded with imagepicker as a new post? 【发布时间】:2021-12-29 22:01:00 【问题描述】:

我有一个tableViewviewController。我需要使用图像选择器添加一张照片(我已经这样做了),然后我需要将其与描述一起保存为我的 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 上传的照片保存为新帖子?的主要内容,如果未能解决你的问题,请参考以下文章

MLModel 如何分析 ImagePicker?

如何在 swift 4 中从图像选择器获取照片本地 url

React 使用antd imagePicker选择并上传图片

如何正确地将 ImagePicker 插入标题中的图像? SwiftUI

在 imagePicker 前面显示一个视图

如何使用 ImagePicker 获取图像名称?我得到了图像名称,但它只在模拟器中工作,而不是在实际设备中工作