gpt4 book ai didi

iphone - 将字符串格式说明符(%@、%d 等)保存在 NSString 中以供将来占位符使用?

转载 作者:行者123 更新时间:2023-12-03 16:29:12 24 4
gpt4 key购买 nike

我有一个很长的字符串,我想从 URL 检索并在应用程序启动时存储。稍后,我想将各个值插入到该字符串中。

我想做这样的事情:

NSString *numberLine = @"1 %@ 3 %@ 5 %@";

//... (later) ...

NSString *final = [NSString stringWithFormat:numberLine, @"two", @"four", @"six"];

NSLog(@"%@", final); //Should output "1 two 3 four 5 six"

我希望将 @"two" 插入到之前保存到 numberLine 中的占位符 %@ 中。

有没有好的方法来完成这样的事情?

到目前为止,我唯一的想法是做类似的事情:

NSString *script = @"width = PLACEHOLDERpx";
script = [script stringByReplacingOccurrencesOfString:@"PLACEHOLDER" withString:@"12"];

最佳答案

您所描述的是一个模板。您希望在将填充数据的字符串中保留占位符。虽然您可以在字符串中使用 %@ 和 %d,但随着字符串变得越来越复杂,这会变得很困难。您可能想使用类似 Mustache 的模板库对于 Objective-C 。这将允许您编写如下表达式:

Hello {{SomeVariable}}

您所要做的就是传入一个 NSDictionary ,其中的键与您要呈现的数据相对应。因此,对于上面的示例,您可以执行以下操作:

NSString *result = [GRMustacheTemplate renderObject:[NSDictionary dictionaryWithObject:@"World" forKey:@"SomeVariable"];
fromString:@"Hello {{SomeVariable}}"
error:NULL];

这将产生一个结果字符串Hello World

关于iphone - 将字符串格式说明符(%@、%d 等)保存在 NSString 中以供将来占位符使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10843028/

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