私のプロジェクトでは3つの異なる環境を設定しました。私は、スキームに設定された設定に基づいてベースURLを逃しようとしています。私は、私がアクセスできるよ、これは行うことができます知っているどのように私は#if疑似命令内で定義された構造体変数にアクセスできません
のようなコードの下から「BASE_URL」という名前の変数にアクセスすることができますAppConstants.API.BASE_URL
class AppConstants
{
struct API
{
#if ENV_DEV
static let BASE_URL = "http://api_dev .../"
#endif
#if ENV_STAGE
static let BASE_URL = "http://api_stag .../"
#endif
#if ENV_PROD
static let BASE_URL = "https://api_prod .../"
#endif
}
}
UPDATE:
他のプロジェクトでは、この方法のようにUPDATE 2:他のプロジェクトから0
なぜこれはクラスにする必要がありますか? –
アクセス方法とエラーメッセージは何ですか? –
それはコンパイルされますか?コンパイラの観点からのあなたの 'BASE_URL'宣言は、互いに排他的ではありません。開発者の注意を借りずに、3つの '#if'チェックのうちの2つまたは3つ全てをパスし、複数回宣言している' BASE_URL'を防ぎます。 – user28434