2017-08-18 55 views
0

我想在OSX桌面的軟件中使用Parse PFUser。當我嘗試使用PFUser.query()時,它會發出一條消息:Failed to set (contentViewController) user defined inspected property on (NSWindow): The class PFUser must be registered with registerSubclass before using Parse.解析PFUser未註冊子類

這是在沒有註冊類的情況下發生的。

我試着用這種方式註冊類:PFUser.registerSubclass()但它仍然不起作用。

我將使用默認PFUser而不添加任何字段,所以我不需要創建一個自定義類作爲我的PFUser。

我試圖用PFUser.enableAutomaticUser()沒有成功

下面

代碼:

AppDelegate.swift

import Cocoa 

import Parse 
import Bolts 

@NSApplicationMain 
class AppDelegate: NSObject, NSApplicationDelegate { 

    let APP_ID = "app_id" 
    let CLIENT_KEY = "client_key" 
    let SERVER = "https://parseserver.com/" 

    func applicationDidFinishLaunching(_ aNotification: Notification) { 

     PFUser.registerSubclass() 

     let configuracaoParse = ParseClientConfiguration { 
      $0.applicationId = self.APP_ID 
      $0.clientKey = self.CLIENT_KEY 
      $0.server = self.SERVER 
     } 

     Parse.initialize(with: configuracaoParse) 
    } 

    func applicationWillTerminate(_ aNotification: Notification) { 
     // Insert code here to tear down your application 
    } 
} 

ViewController.swift

import Cocoa 

import Parse 

class ViewController: NSViewController { 

    @IBOutlet weak var emailTextField: NSTextField! 
    @IBOutlet weak var senhaSecureTextField: NSSecureTextField! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     contaUsuarios() 
    } 

    override var representedObject: Any? { 
     didSet { 
     // Update the view, if already loaded. 
     } 
    } 

    @IBAction func entrarButtonClicked(_ sender: NSButton) { 

    } 

    func contaUsuarios() { 

     let query = PFUser.query() 

     query?.countObjectsInBackground(block: { 
      (count, error) -> Void in 

      let numeroUsers = Int(UInt32(count)) 

      if numeroUsers > 0 { 

      } 

      print(numeroUsers) 
     }) 
    } 
} 

回答

0

閱讀中,我發現在互聯網上的一些內容在OSX中,ViewController將在bef中啓動AppDelegate完成加載,所以我初始化了Parse連接並在ViewController's viewDidLoad中創建了子類化,而不是AppDelegate,它工作得很好。