何时使用 NSString stringWithFormat;

Posted

技术标签:

【中文标题】何时使用 NSString stringWithFormat;【英文标题】:When to use NSString stringWithFormat; 【发布时间】:2017-06-14 08:53:03 【问题描述】:

在阅读如何在 ios 中使用 Sqlite 时,我到达了以下行

NSString *query = [NSString stringWithFormat:@"SELECT * FROM 
tableName"];

我搜索了一些教程和文档以找出为什么使用以下方法而不是常规 NSString 对象:

stringWithFormat

为什么我们不能使用类似下面的东西,因为不需要指定特殊格式,例如 %@ 或 %d?:

NSString *query = @"SELECT * FROM tableName";

【问题讨论】:

如果没有 %@/%d 或任何 %字符,则可以直接使用(NSString *query = @"SELECT * FROM tableName";)。 如果您不打算从变量中获取值,@"SELECT * FROM tableName" 这应该没问题。如果要在运行时替换表名,可以使用stringWithFormat 当来自服务器的一些值和一些值想要转换成字符串时,使用 stringWithFormat 方法。 【参考方案1】:

如果您不打算从变量中获取值,@"SELECT * FROM tableName" 这应该没问题。

如果你要在运行时替换表名,你可以使用stringWithFormat

NSString *query = [NSString stringWithFormat:@"SELECT * FROM %@", myTableName];

【讨论】:

以上是关于何时使用 NSString stringWithFormat;的主要内容,如果未能解决你的问题,请参考以下文章

Objective C - ARC - 何时使用@autoreleasepool

核心数据:NSManagedObject 何时插入上下文并保存?

CLPlacemark 的“名称”

将NSString转换成UTF8编码的NSString

NSString跟SwiftString的区别和使用场景

NSString 释放时崩溃