Objective c 目标C字符串

Objective c 目标C字符串,objective-c,syntax,Objective C,Syntax,我正在检查进行以下调用的代码: id<PLResultSet> results = [sqliteDatabase executeQuery:@"select * where id=?",Id]; 使用进行的查询是否被Id替换?或者,exeuteQuery函数是否以某种方式组合字符串?这个语法有什么意义 (是的,我是Obj-C的新手) 谢谢 KF它特定于方法executeQuery,其中?用作占位符,并使用适当的位置参数作为该占位符的填充符(根据需要添加引号等)。此位: @"sel

我正在检查进行以下调用的代码:

id<PLResultSet> results = [sqliteDatabase executeQuery:@"select * where id=?",Id];
使用
进行的查询是否被
Id
替换?或者,
exeuteQuery
函数是否以某种方式组合字符串?这个语法有什么意义

(是的,我是Obj-C的新手)

谢谢


KF

它特定于方法
executeQuery
,其中
用作占位符,并使用适当的位置参数作为该占位符的填充符(根据需要添加引号等)。

此位:

@"select * where id=?"
是传递到
sqliteDatabase
对象上的
executeQuery::
方法的(与a相反)。该方法的第二个(未命名)参数是
Id
,可能是一个局部变量


根据方法的名称猜测,sqlite包装器可能会创建一个。问号是sqlite用来标记在何处插入参数的语法。

。谢谢参数化查询的一个好处是根本不需要引用:参数值可以作为不同的数据块传递给数据库。这也可以在其他编程语言中完成,而不是特定于Objective-C(当然函数名等是特定的)。
@"select * where id=?"