stringByAppendingPathComponent 向文本添加一个“/”字符

stringByAppendingPathComponent adds a '/' character to the text

我有以下代码:

NSString *message;
if (some_condition) {
    message = @"String 1. ";
} else {
    message = @"String 2. ";

}
message = [message stringByAppendingPathComponent:@"Bla bla bla."];
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Alert"
                                                               message:message
                                                        preferredStyle:UIAlertControllerStyleAlert];

弹出警报时我看到的文本在附加字符串的位置有一个额外的“/”字符:

它是从哪里来的,我该如何删除它?

你用错了方法。

而不是:

message = [message stringByAppendingPathComponent:@"Bla bla bla."];

使用:

message = [message stringByAppendingString:@"Bla bla bla."];

当您使用 stringByAppendingPathComponent: 时,它将 return 通过将提供的字符串附加到接收者而形成的新字符串,如有必要,在前面加上路径分隔符。

参考:NSString Class Reference