【问题标题】:Declare a NSString in multiple lines多行声明一个 NSString
【发布时间】:2011-11-29 19:48:14
【问题描述】:

有没有办法在多行中声明NSString?我想编写 HTML 代码并将其存储到 NSString 中,并且多行代码将更具可读性。我想做这样的事情:

NSString *html = @"\<html\>"
 + @"\<head\>"
 + @"\<title\>The Title of the web\</title\>"
 + @"\</head\>"
 + @"\<body\>"
[...]

【问题讨论】:

标签: objective-c nsstring


【解决方案1】:

这是一个例子:

NSString *html = [NSString stringWithFormat:@"<html> \n"
                          "<head> \n"
                          "<style type=\"text/css\"> \n"
                          "body {font-family: \"%@\"; font-size: %dpx;}\n"
                          "img {max-width: 300px; width: auto; height: auto;}\n"
                          "</style> \n"
                          "</head> \n"
                          "<body><h1>%@</h1>%@</body> \n"
                          "</html>", @"helvetica", 16, [item objectForKey:@"title"], [item objectForKey:@"content:encoded"]];

【讨论】:

    【解决方案2】:

    我知道这是 Objective-C 的问题,但使用 Swift 很容易:

    let multiline = """
    first line
    second line
    without escaping characters
    """;
    

    【讨论】:

      【解决方案3】:
      NSString * html = @"line1\
      line2\
      line3\
      line4";
      

      并注意每行开头的制表符/空格 - 在这种情况下它们确实很重要。

      【讨论】:

        【解决方案4】:

        创建一个多行的 NSString 来模拟从多行文本文件中读取的 NSString。

        NSString * html = @"line1\n\
        line2\n\
        line3\n\
        line4\n";
        

        最后一行的 \n 由你决定。

        【讨论】:

          猜你喜欢
          • 2012-01-06
          • 1970-01-01
          • 1970-01-01
          • 2015-10-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-13
          相关资源
          最近更新 更多