我有一段类似的代码:
//Foo.h OBJC_EXPORT MyObject *const myObj; // Foo.m MyObject *const myObj; @implementation Foo +(void) initialize { if (self = [Graph class]) { myObj = [Config get:@"Foo"]; // <--- ERROR! assignment of read-only variable 'Foo' // .... } } // .... @end
可能有更好的方法,但我的第一个想法是通过额外的指针间接分配它,例如:
MyObject** nonConstObj = (MyObject**)&myObj; *nonConstObj = [Config get:@"Foo"];
如果是C++, const_cast<>
const_cast<>