试图将聊天客户端从swift 4传递到swift 4.2并且使用选择器我发现了麻烦.
UIImagePickerControllerEditedImage // 无法使用索引类型为"UIImagePickerController.InfoKey"的类型'[String:Any]'下标
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let pickedImage = info[UIImagePickerControllerEditedImage] as? UIImage {
self.userProfileImage.contentMode = .scaleAspectFit
self.userProfileImage.image = pickedImage
}
picker.dismiss(animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个项目来学习如何解析 JSON。我正在尝试将JSON解析为struct。我正在尝试使用接下来的代码来执行此操作,但出现以下错误:
Err 无法读取数据,因为它的格式不正确。
我究竟做错了什么?我也尝试使用 Alamofire,但我没有找到将它解析为 struct 的方法。
func getData(){
let gitUrl = URL(string: "http://95.46.99.250:9095/api/v1/institution-categories")
URLSession.shared.dataTask(with: gitUrl!) { (data, response
, error) in
let data = data
print(data)
do {
let decoder = JSONDecoder()
let gitData = try decoder.decode([Root].self, from: data!)
} catch let err {
print("\nErr", err.localizedDescription)
}
}.resume()
}
Run Code Online (Sandbox Code Playgroud)
结构
struct Root: Codable {
let data: [InnerItem]
}
struct InnerItem:Codable {
let id: Int?
let image: String?
let name: String?
private enum CodingKeys : …Run Code Online (Sandbox Code Playgroud) 我想创建带有标题和一些单元格的自定义下拉部分。基本上,我希望单元格与我的标题具有相同样式(页脚中所有单元格的宽度/白色背景/阴影相同)。问题是:

内容视图
var body: some View {
ScrollView{
VStack(alignment: .center, spacing: 0){
VStack{
Text("")
.foregroundColor(.white)
.fixedSize(horizontal: false, vertical: true)
Image("")
.renderingMode(.template)
.resizable()
.aspectRatio(contentMode: .fit)
.foregroundColor(Color.white)
.frame(width: 40, height: 40, alignment: .center)
}
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 330, maxHeight: 330)
.background(Color.darkBlue)
TestView() //HERE IS CELL VIEW
.frame(minWidth: 0, maxWidth: .infinity, minHeight: UIScreen.main.bounds.height - 330, maxHeight: UIScreen.main.bounds.height - 330)
}
.padding(.horizontal, 0)
.padding(.top, -20)
.navigationBarTitle("")
.navigationBarHidden(true)
}
}
Run Code Online (Sandbox Code Playgroud)
测试视图
var …Run Code Online (Sandbox Code Playgroud) 我构建聊天应用程序。我在每个用户表中都有一个字段,可以检查用户是否在线。我仅使用数据库引用来获取isOnline状态并在拉动刷新时更新它。我看到当用户打开或折叠应用程序时,应用程序会自动更新在线状态。我怎样才能做到这一点?我是否需要任何侦听器或任何框架可以帮助我升级我的代码))像 ReactiveCocoa/ReactiveSwift 这样的东西...
我有问题...我有两个 ViewControllers,我使用此代码从第一个 VC 传递到第二个
let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "EVSignInViewController") as! EVSignInViewController
self.present(newViewController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
问题是..我想在第二个 VC 上显示后退按钮。我已经尝试在 1st VC 上使用 Editor->Embed in-> Navigation controller。我也用这个
navigationController?.setNavigationBarHidden(false, animated: true)
navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style:.plain, target:nil, action:nil)
Run Code Online (Sandbox Code Playgroud) 伙计们,我想从后退按钮中删除文本。我使用此代码从VC1导航到VS2(登录表单)。我试图将此代码添加到 VC2 但什么也没有。
self.navigationController?.navigationBar.backItem?.title = ""
Run Code Online (Sandbox Code Playgroud)
代码:
@IBAction func didSelectSegment(_ sender: UISegmentedControl) {
let vcName = vcNames[sender.selectedSegmentIndex]
if vcName == "NQTPastRecordViewController" && loggined() == false {
let alert = alertAskLogin({
let signInVC = getController("EVSignInViewController")
self.navigationController?.pushViewController(signInVC, animated: true)
})
self.present(alert, animated: true, completion: nil)
segmentControll.selectedSegmentIndex = 0
return
}
self.container.swipeToController(at: sender.selectedSegmentIndex)
}
Run Code Online (Sandbox Code Playgroud)
swift ×6
navigation ×2
back-button ×1
firebase ×1
ios ×1
json ×1
parsing ×1
swift4.2 ×1
swiftui ×1
title ×1