特殊字符NSString

时间:2011-09-28 11:41:33

标签: objective-c xcode cocoa nsstring applescript

我有一个NSString我试图声明,所以我可以用它作为一个AppleScript。这是代码:

 NSString *script1 = @"do shell script /usr/bin/php -r ($mac = \"g1:ag:g3:cg:gg:eg\"; $porttemp = \"9\"; $ip = \"255.255.255.255\"; 
 $mac_bytes = explode(\":\", $mac); 
                     $mac_addr = \"\"; 
                     for ($i=0; $i<6; $i++) 
                     $mac_addr .= chr(hexdec($mac_bytes[$i])); 
                     $packet = \"\"; 
                     for ($i=0; $i<6; $i++) /*6x 0xFF*/ 
                     $packet .= chr(255); 
                     for ($i=0; $i<16; $i++)    /*16x MAC address*/ 
                     $packet .= $mac_addr; 
                     $port = $porttemp; 
                     $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); 
                     socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, TRUE); 
                     socket_sendto($sock, $packet, strlen($packet), 0, $ip, $port); 
                     socket_close($sock); 
                     );"

问题我面对的是xcode说我没有终止它并且给出了一大堆错误。知道如何解决它或者我有什么不妥吗?

1 个答案:

答案 0 :(得分:3)

你必须用“”来表示每一行。

像:

NSString *HelloWorld = @"Hello"
                    " World";

你在做的是:

NSString *HelloWorld = @"Hello
                     World";

无效。

[已编辑以更正代码显示,因此示例在删除换行符时有意义。]