【发布时间】:2020-03-26 10:03:09
【问题描述】:
当使用以下代码提取参数时,它在大多数情况下都能正常工作,但不适用于 IPv6 格式。乍一看,似乎与[ 和] 字符有关,我猜这对解析有特殊含义:
这可行(szServer 包含 1.2.3.4):
./myapp -address "1.2.3.4"
这不起作用(szServer 为零):
./myapp -address "[2001::abc]"
不幸的是,我不流利地使用 Objective-C,所以这可能是一个微不足道的问题,但是查看 NSUserDefaults documentation 或在互联网上搜索“NSUserDefaults with square bracket”并没有给我带来任何启示(对我来说)主题。
int main(int argc, char *argv[])
{
@autoreleasepool {
NSUserDefaults *args = [NSUserDefaults standardUserDefaults];
NSString * szServer = [args stringForKey:@"address"];
}
}
我也希望能澄清正在发生的事情。
【问题讨论】:
标签: objective-c nsuserdefaults square-bracket