我试图在我的代码中引用parse.com变量。我不是100%肯定如何。我哪里错了?
当我这样做时:
message["title"] = messageTitle.text
我收到错误PFObject?没有名为subscript的成员
或者
messageTitle.text = self.message!.title
我收到错误PFObject没有名为' title'
的成员或者
messageTitle.text = message["title"]
我收到错误AnyOject无法转换为String
给你一些背景知识:
我有一个带有Message表的解析后端。我像这样参考表格:
PFObject(className: "Message")
我有一个消息视图控制器,其中包含一个集合视图MessagesViewController.swift
我有一个集合视图单元类,用于在集合视图MessageCell.swift
上显示消息
我有一个消息视图控制器,用于编辑消息MessageViewController.swift
我希望能够在MessagesViewController上选择一个单元格,然后MessageViewController将使用该单元格来显示所选的消息 我声明了本地消息变量:
var messages = [PFObject]()
长按:
let storyboard = self.storyboard
let vc = storyboard!.instantiateViewControllerWithIdentifier("MessageViewController") as MessageViewController
vc.message = self.messages[self.visibleCellIndex]
navigationController?.pushViewController(vc, animated: true)
消息viewController我声明它的局部变量并将textfield设置为等于消息的标题
var message = PFObject?()
override func viewDidLoad() {
super.viewDidLoad()
messageTitle.text = self.message.title
}
我还希望保存对邮件的任何更改,或者如果还没有新邮件则创建新邮件
func saveButtonPressed() {
if message == nil {
message = PFObject(className: "Message")
}
message["title"] = messageTitle.text
message.saveInBackground()
}
然后我希望能够通过将其绑定到cellForRowAtIndexPath中的消息来创建消息单元
消息viewController
cell.bindWithMessage(messages[indexPath.row])
MessageCell
var message = PFObject()
func bindWithMessage(aMessage: PFObject) {
message = aMessage
messageTitle.text = message["title"]
}
答案 0 :(得分:0)
根据错误消息,问题是该消息是可选的。所以
message?["title"] = messageTitle.text
应该有帮助。
<强>已更新强>
看一下消息声明:
var message = PFObject?()
它是一种光学吗?它是。你可以在其上使用语法message["title"] = messageTitle.text
吗?你不能。你需要打开它。问题没有说明,他想要你的语法message.title,我无法读懂思想。
答案 1 :(得分:0)
声明var使用时:
var myItem : PFObject!
然后当你去使用它时,你使用可选的绑定:
If let mySting = myItem["key"] as? String {
label.text = myString
}