4

以下の C# クラスは、定数を保持するためだけに使用されます。したがって、クラス名を使用してそれぞれにアクセスできます。したがって、「Constants.DIR_ARCHIVE」は「Archive」を提供します。

ObjectiveC で以下の C# クラスを定義するにはどうすればよいですか?

 public class Constants
{
//Resource Directory Names
public const string DIR_ARCHIVE = "Archive";
public const string DIR_DEPARTMENTS = "Departments";
public const string DIR_FORMS = "Forms";
public const string DIR_GOAL_TRACKING = "GoalTracking";
public const string DIR_ROLES = "Roles";
public const string DIR_HOMEWORK = "HomeWork";
public const string DIR_POSTINGS = "Postings";
public const string DIR_SIGNUP = "SignUp";
public const string DIR_SITE_CONFIG = "System";
public const string DIR_PORTFOLIO = "Portfolio";
public const string DIR_MEMBERDEFINITION = "Definitions";

//Integer Constants 
public const int LOG_DEFAULT_DURATION = 1;

//Other Constants
public const string OP_STATUS_ERROR = "Error";
public const string OP_STATUS_SUCCESS = "Success";
public const string OP_STATUS_WARNING = "Warning";
}
4

2 に答える 2

5

ObjectiveC で以下の C# クラスを定義するにはどうすればよいですか?

定数は、Objective-C のクラスを使用して編成されていません。それらが定数のままである場合、Objective-C での通常のアプローチは、意味のあるプレフィックスを選択し、それらの名前のそれぞれに適用することです。

NSString* const AM_DIR_ARCHIVE = "Archive";
NSString* const AM_DIR_DEPARTMENTS = "Departments";
NSString* const AM_DIR_FORMS = "Forms";

実装 (.m) ファイルでこれを行い、対応するヘッダー (.h) ファイルで外部定義の定数として名前を宣言します。

extern NSString* const AM_DIR_ARCHIVE;
extern NSString* const AM_DIR_DEPARTMENTS;
extern NSString* const AM_DIR_FORMS;

もう 1 つのアプローチは、Foundation フレームワークで標準のシステム ディレクトリを見つけるために使用されるもので、値をいくつかの関数またはメソッドの 1 つに渡すことができる列挙型を使用することです。

enum {
   NSApplicationDirectory = 1,
   NSDemoApplicationDirectory,
   NSDeveloperApplicationDirectory,
   NSAdminApplicationDirectory,
   NSLibraryDirectory,
   NSDeveloperDirectory,
   NSUserDirectory,
   NSDocumentationDirectory,
   NSDocumentDirectory,
   //...
};
typedef NSUInteger NSSearchPathDirectory;

これらの値のいずれかを のような関数に渡しますNSSearchPathForDirectoriesInDomains()。その特定の関数について、指定されたディレクトリに一致するパスの配列が返されます。

于 2013-04-25T06:35:47.680 に答える