将字符串数组传递给iPhone中的web服务
我已经开发了一个iPhone应用程序,需要将字符串数组传递给web服务。 现在,我有了一个将字符串数组传递给iPhone中的web服务,iphone,Iphone,我已经开发了一个iPhone应用程序,需要将字符串数组传递给web服务。 现在,我有了一个NSMutable数组,比如sendSelectedID 我知道数组中有值,因为当我在for循环中显示时 for(i=0;i<[sendSelectedID count];i++) { NSLog(@"%@", [sendSelectedID objectAtindex:i]); } soap消息显示如下: NSString *soapMessage = [NSString stringWithFo
NSMutable
数组,比如sendSelectedID
我知道数组中有值,因为当我在for循环中显示时
for(i=0;i<[sendSelectedID count];i++)
{
NSLog(@"%@", [sendSelectedID objectAtindex:i]);
}
soap消息显示如下:
NSString *soapMessage = [NSString stringWithFormat:
@"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
"<S:Envelope xmlns:S=\"http://schemas.xmlsoap.org/soap/envelope/\">\n"
"<S:Header/\>\n"
"<S:Body>\n"
"<ns2:confirmRecallDeposit xmlns:ns2=\"http://services.cbp.syntel.org/\">\n"
"<TransactionId>(
1,
3
)</TransactionId>\n"
"</ns2:confirmRecallDeposit>\n"
"</S:Body>\n"
"</S:Envelope>\n",sendSelectedID ];
NSString*soapMessage=[NSString stringWithFormat:
@“\n”
“\n”
“\n”
“\n”
“\n”
"(
1.
3.
)\n“
“\n”
“\n”
“\n”,sendSelectedID];
但在服务器端,它给出了错误号格式异常。
如何在服务器端删除此错误?我试图修剪收到的值,但没有效果。这只是猜测,但您可能需要在
sendSelectedID
中转义回车
您可以将方法-stringByEscapingMetacharacters
添加到NSString
类别(将功能扩展到NSString
):
而不是你现在拥有的:
(
1,
3
)
你的问题很难理解。您看到的输出有什么问题?期望的输出是什么?什么是“receib”和“ved”?实际代码是什么样子的?您已经问了17个问题,但没有用正确答案标记任何问题?请告诉我如何标记为正确答案,我试过一个。我点击了旗帜按钮,它给了我一条信息,需要版主,然后在文本框中我输入了正确的答案。这与我需要做的相同吗?如果您不使用标志选项来标记接受的答案,请单击绿色复选框来标记接受的答案。除非你对已接受的答案做了适当的标记,否则你不太可能收到问题的答案,因为人们通常不会花时间在一个答案上,如果他们不会因此获得声誉的话。
@implementation NSString (Additions)
- (NSUInteger) numberOfUnsafeCharacters {
NSUInteger i, len, cnt;
if ((len = [self length]) == 0)
return 0;
for (i = 0, cnt = 0; i < len; i++) {
unichar c;
c = [self characterAtIndex:i];
if (c == ',' || c == ';' || c == '\n' || c == '\\') cnt++;
}
return cnt;
}
- (NSString *) stringByEscapingMetacharacters {
NSUInteger i, cnt, len;
unichar *newStr;
NSString *result;
if ((cnt = [self numberOfUnsafeCharacters]) == 0)
return self;
len = [self length];
newStr = calloc(len + cnt + 10, sizeof(unichar));
for (i = 0, cnt = 0; i < len; i++) {
unichar c;
c = [self characterAtIndex:i];
if (c == '\\') {
newStr[i + cnt] = '\\';
cnt++;
}
else if (c == '\n') {
newStr[i + cnt] = '\\';
cnt++;
c = 'n';
}
newStr[i + cnt] = c;
}
newStr[i + cnt] = '\0';
result = [NSString stringWithCharacters:newStr length:(i + cnt)];
if (newStr != NULL) free(newStr); newStr = NULL;
return result;
}
(\\n1,\\n3\\n)
(
1,
3
)