0

私は今、PFUserをサブクラス化しようとしています。通常、初期化されていない変数はUser テーブルの列として作成されると思います。しかし、どういうわけか、初期化された変数のみを作成します。

これが私がやった方法です。

class CustomUser: PFUser, PFSubclassing {
    @NSManaged var displayName: String;
    @NSManaged var phone: String;
    @NSManaged var profilePicture: PFFile;
    @NSManaged var birthDate: NSDate;
}

これが私がそれを使用する方法です。

var user = CustomUser();
user.email = emailTextField.text;
user.username = emailTextField.text;
user.password = passwordTextField.text;

user.displayName = displayNameTextField.text.capitalizedString;

user.signUpInBackground();

最初のユーザー登録時に、電話番号、profilePicture、およびbirthDateの入力を求めていないことに注意してください。

解析すると、テーブルに displayName 列が作成されます。

以前のバージョンの Parse では、これらの列がUser テーブルに自動的に作成されていました。

Userクラスを削除して、サインアップ プロセスを実行しようとしました。ただし、これらの初期化されていないフィールドは列に追加されません。何が変わったのですか?

何か案が?

現在、v1.7.4 を使用しています。

4

1 に答える 1

1

以前のバージョンの Parse が期待どおりに動作したとは思えません。私の知る限り、フレームワークは常にこのように動作しているため、何も変わっていません。

アプリで新しいオブジェクトが作成され、保存のために Parse に送信されると、空でない値を持つフィールドのみが (値と共に) 送信されます。列名に空の値を送信しても意味がありません。Parse に送信されるデータのサイズが理由もなく増加するだけです。

そうです、小さな副作用の 1 つは、少なくとも 1 つのオブジェクトが値を設定するまで列が作成されないことです。それらをデータ ブラウザに表示したい場合は、手動で作成できます。

于 2015-06-09T09:36:05.327 に答える