我很难弄清楚以下几点:
我有一个初始化方法,它创建一个未使用的格式化 NSString,其中包含一些 未初始化的 NSString 参数,如下所示:
NSString *initialString = [NSString stringWithFormat"%@, %@", arg1, arg2];
稍后在我的程序中,我用一些值初始化这些参数,但是当我打印到 NSLog
我的 initialString
时,参数仍然是 null
。
如果我检查我的参数,它们就会被初始化并提供我给它们的正确值。
initialString
是对象的强引用属性,而参数是 static NSStrings
。
所以结论:
我怎样才能做到这一点?使用传递引用还是 KVO?
我不是确定我理解你,但是为了使用更新的值重新初始化 initialString
,你需要调用 stringWithFormat:
再次使用新值。这是因为 stringWithFormat:
将采用任何值 arg1
和 arg2
在它被调用时,对这些值的更改不会影响格式化字符串。
最好将该功能放入一个私有(private)方法中,以便在 arg1
或 arg2
更改时更新实例变量(我假设是这样):
- (void)formatInitialStringWithArg1id)arg1 andArg2id)arg2
{
self.initialString = [NSString stringWithFormat"%@, %@", arg1, arg2];
}
关于ios - 在 NSString 的 initWithFormat :arguments: method 上更改参数的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31351454/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |