如何更改#define值

use*_*429 1 objective-c ios c-preprocessor

我知道#define必须保持不变,但请给我任何好的建议.

在我的例子中,我通过#define(例如#define kImageQuality 0.7)定义一个常量值.但是,我想Settings.Bundle在打开应用程序之前更改常量值.那意味着改变常数值,不是吗?这是以任何方式实现我的目标吗?

它应该更改为实例变量而不是#define?你给出的任何提示都会非常感激.

car*_*lli 5

#define在编译之前,常量被替换,甚至由预处理器开始(例如kImageQuality,0.7在编译之前被替换).因此,在应用程序启动之前加载它是不可能的,因为应用程序不会每次都重新编译.你需要使用一个变量:

float imageQuality = 0.7f;
Run Code Online (Sandbox Code Playgroud)