gpt4 book ai didi

ios - 更改 NSString 的 initWithFormat 上的参数值 :arguments: method

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:14:14 26 4
gpt4 key购买 nike

我很难弄清楚以下内容:

我有一个初始化方法,它使用一些 未初始化 的 NSString 参数创建未使用的格式化 NSString,如下所示:

NSString *initialString = [NSString stringWithFormat:@"%@, %@", arg1, arg2];

稍后在我的程序中,我用一些值初始化了这些参数,但是当我打印到 NSLog 我的 initialString 时,参数仍然是 null。如果我检查我的参数,它们会被初始化并提供我给它们的正确值。

initialString 是对象的强引用属性,而参数是 static NSStrings

所以结论:

  1. 我想在程序开始时使用特定格式和特定​​未初始化参数(硬编码)初始化 NSString。
  2. 稍后,在运行时,我想使用我的初始字符串并让它从现在初始化的参数中读取值。

我怎样才能做到这一点?使用引用传递还是 KVO?

最佳答案

我不是确定我理解你,但为了用更新后的值重新初始化 initialString,你需要调用 stringWithFormat: 再次使用新值。这是因为 stringWithFormat: 将采用调用时 arg1arg2 的任何值,并且更改这些值不会影响格式化字符串。

最好将该功能放入一个私有(private)方法中,以便在 arg1arg2 发生更改时更新实例变量(我假设是):

- (void)formatInitialStringWithArg1:(id)arg1 andArg2:(id)arg2
{
self.initialString = [NSString stringWithFormat:@"%@, %@", arg1, arg2];
}

关于ios - 更改 NSString 的 initWithFormat 上的参数值 :arguments: method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31351454/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com