目的-cでは、渡される実際のパラメータにフォーマット指定子が揃う可変パラメータを取る関数functoin?Objective-c var-argパラメータが正しい型と数であることを確認する
6
A
答えて
20
これは、NS_FORMAT_FUNCTIONマクロを使用して行います。
のは、あなたがこのような機能を持っているとしましょう:
LOG(int level,NSString *format,...);
フォーマットはフォーマット文字列が含まれていながら、レベルがログレベルで、変数の引数はフォーマット文字列にパラメータです。 2ここで図3は、引数リスト内の位置を参照すること
LOG(int level,NSString *format,...) NS_FORMAT_FUNCTION(2,3);
注パラメータの数およびタイプが正しいものであることをコンパイル時に確保するために
このように関数を定義します書式文字列と可変パラメータリストの開始位置を指定します。
0
デフォルトではどちらもチェックされません。引数の種類を確認することができないLLVMと
パラメータの数は(強制)を確認することができるマクロNS_FORMAT_FUNCTION
介し。それはprintfのために働きますが、var_args自体はどのタイプのものでもありません。
関連する問題
- 1. 変数の型がプリミティブであることを確認してください
- 2. ユーザーがWikipediaのユーザーであることを確認していることを確認しますか?
- 3. 値が==整数(0)であることを確認するR
- 4. Python - 変数が空であることを確認する
- 5. 変数が空であることを確認する - 角2
- 6. 行列が正方形であることを確認してください
- 7. 変数が数字であることを確認してください
- 8. 変数がPythonの標準型関数であることを確認してください
- 9. 数字が正であることを確認する良い方法はありますか?
- 10. 重複レコードの値が負で正であることを確認する
- 11. 数字がセット(JavaScript)の一部であることを確認
- 12. Javaでオブジェクトがnullであることを確認します。
- 13. ionic2でストレージが空であることを確認します。
- 14. 配送先住所が正当であることを確認する方法
- 15. JTextFieldが数字であることを確認してください
- 16. SASS:変数が地図であることを確認してください
- 17. 文字列が数字であることを確認してください
- 18. 変数が空であることを確認してください
- 19. Selenium Python:JS変数がtrueであることを確認してください
- 20. NSNumberが小数であることを確認してください
- 21. パラメータが不確かであることを約束するモデル
- 22. ユーザーが正しいデータ型を入力していることを確認します。 C#Console App
- 23. ウィンドウがメッセージボックスであることを確認します
- 24. NUnitはプロパティがコレクションであることを確認します
- 25. NSMutableDictionaryが空であることを確認しますか?
- 26. オブジェクトがカスタムクラスであることを確認しますか?
- 27. EditTextが空であることを確認します。android
- 28. tabControl1がnullであることを確認しますか?
- 29. Sympy ExpressionがNanであることを確認しますか?
- 30. Javaの桁数が奇数であることを確認する方法は?
@ downvoters ...私は投票しても問題ありません。 –