• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-13 09:00:25 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我很难弄清楚以下几点:

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

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

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

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

所以结论:

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

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



Best Answer-推荐答案


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

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

- (void)formatInitialStringWithArg1id)arg1 andArg2id)arg2
{
    self.initialString = [NSString stringWithFormat"%@, %@", arg1, arg2];
}

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

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap