我正在使用Swift中的表单编写一个简单的应用程序,我使用Objective-C编写的应用程序使用视图中的文本字段中的数据填充电子邮件,我使用以下代码执行此操作:
#include <stdio.h>
#define N 10
int main( void )
^^^^^
{
int a[N];
int greatest;
int i;
for ( i = 0 ; i < N ; i++ ) scanf( "%d", &a[i] );
^^^^^
greatest = a[0];
^^^^^^^^^^^^^^^^
for ( i = 1 ; i < N ; i++ )
{
if ( greatest < a[i] ) greatest = a[i];
^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
}
printf( "%d\n", greatest );
^^^^^^^^
return 0;
}
我试图在Swift中实现同样的目标,到目前为止我有以下内容:
NSString *messageBody = [NSString stringWithFormat:@"Name: %@ \nDate: %@", NameField.text, DateField.text];
我正在寻找相当于let messageBody = NSString(format: "Name: %@ \nDate: %@", NameField, DateField)
的swifts,以使应用看到字符串的格式,以便在"%@"
之后找到要放置的数据。
答案 0 :(得分:12)
在Swift中,您使用\(some_printable_object_or_string)
像
let string = "Name: \(NameField) \nDate: \(DateField)"
或者您可以使用ObjectiveC样式格式
let string = String(format: "Name: %@ \nDate: %@", NameField, DateField)
答案 1 :(得分:4)
不要只将Obj-c移植到Swift。斯威夫特有自己的做事方式。
let message = "Name: \(nameField) \nDate:\(dateField)"
答案 2 :(得分:2)
let firstName = "Hai"
let date = NSDate()
let messageBody = NSString(format: "Name: \(firstName) \n Date: \(date)")
NSLog(messageBody as String)