

Parseを使用しながらチャットアプリを作っているのですが、下記のようなエラーがでます。  
"Can't use nil for keys or values on PFObject. Use NSNull for values."  
こちらはどのようなエラーのことを言っているのか、ご経験のある方解決策を教えてくださいませ。


CC BY-SA 3.0
2016-02-06T09:23:21.890
21771
2016-02-07T12:36:20.747
2016-02-07T12:36:20.747
76
14304
question
ios swift
"Can't use nil for keys or values on PFObject. Use NSNull for values"というエラー


エラーが発生したのであれば、エラーメッセージが差している付近のコードを載せられた方が多くの解答を期待できると思います。

で、Parseは使わないので、リファレンスからの推定ですが、`setObject(_:forKey:)`系のメソッドでエラーが発生したのだと思われます。これは、Foundation内のApple提供のコレクションクラスにも共通しているのですが、
**nilをキーや値にすることはできません** 。Parseにも同じ制約があることがリファレンスに明記されています。  
[-setObject:forKey:](https://parse.com/docs/ios/api/Classes/PFObject.html#/c:objc\(cs\)PFObject\(im\)setObject:forKey:)  
コードがないのでわからないのですが、keyの方がnilなら大抵ロジックエラーですので、エラー発生行以前の部分を再チェック、objectの方でしたら、「意図的にnilを代入しようとしているのか」どうかを判断して、意図に反する状態なら当然それ以前の部分をデバッグ、nilを入れたいのなら、それはできないので、メッセージに示されたように「nilの代わりになる値」として、NSNull(のインスタンス)を使用するように修正してください。

上の説明が当てはまらないような全然別のメソッドで出たエラーであれば、お知らせください。  
(ご自分で書いたコードの中には、`setObject(_:forKey:)`がなくても、フレームワークの中で暗黙的に呼ばれている、と言った可能性もあります。)


CC BY-SA 3.0
2016-02-06T10:00:28.273
21775
2016-02-06T10:00:28.273
13972
21771
answer