Sha*_*ram 3 xcode objective-c ios swift
我#define baseUrl [NSString stringWithFormat:@"%@api/v4", MAINURL]在目标c类中定义,可以访问项目中的任何地方.但是现在我已经在退出的目标c项目中创建了swift文件,并希望在swift中访问baseurl但收到错误.
Use of unresolved identifier 'baseUrl'
Run Code Online (Sandbox Code Playgroud)
怎么解决呢?
将Objective-C宏导入Swift并不总是有效.根据文件:
Swift自动导入使用#define指令声明的简单,类似常量的宏作为全局常量.当宏使用字符串表示字符串,浮点或整数值时,或者在文字或以前定义的宏之间使用+, - ,>和==等运算符时,将导入宏.
比简单常量定义更复杂的C宏在Swift中没有对应的宏.
在您的情况下,另一种方法是使用一个返回宏定义的值的函数
// .h file
#define baseUrl [NSString stringWithFormat:@"%@api/v4", MAINURL]
+ (NSString*) BaseUrl;
// .m file
+ (NSString*) BaseUrl { return baseUrl }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
855 次 |
| 最近记录: |