2017-05-31 3 views
0

iOS + Swiftを使用すると、特殊文字を許可する最も良い方法は何ですか?Firebaseデータベースのキー(ノード名)の$#[] /ですか?(iOS + Swift)Firebaseリアルタイムデータベースに特殊文字を許可するにはどうすればいいですか?

+0

[Firebaseデータ、ドット、スラッシュを追加する](https://stackoverflow.com/questions/19132867/adding-firebase-data-dots-and-forward-slashes) –

+1

こんにちはTrev14。重複した可能性のある投稿に回答を追加したこともあります(これは素晴らしいことです)。しかし、質問の文脈が似ていると、別の質問を投稿して同じ回答を追加することはできません良い。それにもかかわらず、コミュニティに貢献してくれてありがとう。乾杯! –

+0

Firebaseデータベース文字列でこれらの文字を使用できないのはなぜですか? "#$ [[] /"はFirebaseの有効な*値*です。 – Jay

答えて

1

エンコード率を追加&デコード!英数字を使用できるようにしてください(下記の例を参照)。

​​
+1

これは非常に興味深いアプローチですが、最初の質問はFirebase *キー*文字列*で特殊文字を使用することを尋ねるように、より具体的にする必要があります(私の答えを参照してください) - 将来の読者を誤解させたくありませんFirebaseに経験がない。私はあなたに創造的思考のための上向きの矢を与えました。 – Jay

+0

ああ、ありがとうございます。これまでの私の経験から、これらの文字で何かを保存しようとするたびにアプリがクラッシュしました...明らかに、私はそれらのキーを作成し、値の中に入れていたからです。 – Trev14

0

質問は

どのように私は私のFirebaseリアルタイムデータベースに特殊文字を許可していますか?

実際の答えは、Firebase Realtime Databaseで特殊文字を許可する必要はありません。

は、たとえば次のコード

のコードが実行される
//self.ref is a reference to the Firebase Database 

let str = "this.is/a#crazy[string]right$here.$[]#/" 
let ref = self.ref.childByAutoId() 
ref.setValue(str) 

を与え、あなたは文字列が与えられた文字列と同じです見ることができるように

{ 
    "-KlZovTc2uhQXNzDodW_" : "this.is/a#crazy[string]right$here.$[]#/" 
} 

をfirebaseに書き込まれ、次の、特殊文字を含む。

文字列に特殊文字を使用できるかどうかについて質問することが重要です。 Firebaseのすべてがキー:値のペアとして格納され、値は文字列にすることができます。

キーの、独自のキーを作成した場合、彼らはUTF-8エンコードされている必要があり

異なっている768バイトの最大することができ、および含めることはできません。、$、#、[、]、/ 、または0〜31または127のASCII制御文字。

さらに大きな質問が返されます。これらの文字をのキーに含める必要がある構造は、おそらく一般的にはより良い解決策があるため、再考する必要があります。

関連する問題