hsz*_*hsz 14 static const objective-c
我想创建一个包含可从所有项目访问的静态值的类.
伪代码:
class Constants:
constant String API_URL : "http://api.service.com"
constant Integer SOME_VALUE : 7
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做Objective-C?
Gau*_*ogi 13
您的问题的答案是extern关键字.我将用一个例子向你解释.为项目添加目标c类,并将它们命名为Common,现在在Common.h中
@interface Common : NSObject
extern NSString *SiteApiURL;
@end
Run Code Online (Sandbox Code Playgroud)
使用extern关键字定义NSString类的实例后,您需要切换到Common.m类并初始化NSString(SiteApiURL)的值
#import "Common.h"
@implementation Common
NSString *SiteApiURL = @"http://api.service.com";
@end
Run Code Online (Sandbox Code Playgroud)
像这样导入project-Prefix.pch文件中的Common.h类
#import <Availability.h>
#ifndef __IPHONE_3_0
#warning "This project uses features only available in iOS SDK 3.0 and later."
#endif
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "Common.h"
#endif
Run Code Online (Sandbox Code Playgroud)
全部完成,现在您可以在整个项目中的任何位置使用对象"SiteApiURL",您无需在任何地方导入任何类,即您可以直接在项目中的任何位置使用此变量.
你可以使用预处理器来做到这一点:
#define API_URL @"http://api.service.com"
#define SOME_VALUE (7)
Run Code Online (Sandbox Code Playgroud)
访问定义很简单: [object do:API_URL];
或者你可以使用常量
NSString * const apiURL = @"http://api.service.com";
NSNumber * const someValue = @7;
Run Code Online (Sandbox Code Playgroud)
访问consts就像访问变量一样,所以字符串只是一个简单的调用.NSNumber是基元的对象包装器,因此您需要访问它,如:someValue.intValue
| 归档时间: |
|
| 查看次数: |
19887 次 |
| 最近记录: |