0

在我的应用程序中。消息列表代码下方将有用户列表和消息列表作为我
的代码(从解析加载列表)

    @IBOutlet var messageTableView: UITableView!
var messageArray:[String] = ["Lope"]
override func viewDidLoad() {
    super.viewDidLoad()
    retrieveMessages()
    }
func retrieveMessages() {
    var query = PFQuery(className:"Messages")
    var user = PFUser.currentUser()
    query.whereKey("user", equalTo:user.objectId)
    query.findObjectsInBackgroundWithBlock { [weak self]
        (objects:[AnyObject]?, error:NSError?) -> Void in
        println(objects)
        println("succeed")
        let messages = objects
        for object in objects!{
            if let message = object["messageTextColumn"] as? String {
                println(object)
                self?.messageArray.append(message)

            }

        }

         self?.tableView.reloadData()
    }

}






override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return messageArray.count
}


override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("messageCell", forIndexPath: indexPath) as UITableViewCell
        cell.textLabel?.text = messageArray[indexPath.row]
        return cell
} 

添加消息代码(添加要解析的新消息)

class addMessageViewController: UIViewController {

@IBOutlet weak var addMessageText: UITextField!
@IBAction func addMessage(sender: AnyObject) {

    var newMessage = addMessageText.text

    let message = PFObject(className: "Messages")
    var user = PFUser.currentUser()
    message["messageTextColumn"] = newMessage
    message["user"] = user.objectId

    message.saveInBackgroundWithBlock {(success: Bool, error: NSError?) -> Void in
        if (success) {
            println("added to Message Class")
           println(user)
            message.saveInBackground()
        } else {
            // Error saving message
        }
    }
}

我想使用解析本地数据存储在本地将这些数据存储在我的应用程序中,这样我的应用程序就不必一直使用互联网连接,当用户没有连接到互联网时,用户列表和消息列表仍然会出现.

问题是我不知道我应该在本地数据存储中使用什么方法我应该将本地数据存储代码放在“添加消息代码”中以保存新消息,并在“消息列表代码”中将其在本地查询到我的应用程序和如果有任何更新,它将在我们的本地“消息列表”加载后稍后执行。任何帮助表示赞赏。谢谢!

4

1 回答 1

0

要开始使用 Parse 数据存储,您需要从您的应用委托中选择加入:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.


        // Opt in for Parse Local data store *Before Parse.setApplicationId*
        Parse.enableLocalDatastore()

        Parse.setApplicationId("YOUR PARSE APP ID",
            clientKey: "YOUR PARSE CLIENT ID")

       //... other code that you might need when app did finish launching

      return true
 }

稍后当您保存新的时,message您将使用:

message.saveEventually()

这将保存在本地数据存储中,最终(当互联网可用时)保存在远程数据存储中。

从这里您可能还对 Parse 数据固定的使用感兴趣。有关更多信息,请参阅 Parse 文档。

希望这可以帮助

于 2015-07-04T06:01:00.850 回答