如何将 NSString 格式化为 URL?

Posted

技术标签:

【中文标题】如何将 NSString 格式化为 URL?【英文标题】:How can I format NSString as a URL? 【发布时间】:2014-10-13 13:17:03 【问题描述】:

我正在使用以下字符串在我的应用程序的 facebook 帖子中格式化 URL。

NSString *stringAppURLFormatted = [NSString stringWithFormat:@"<a href= 'https://www.facebook.com'> New Game Name </a>"];

输出是

<a href= 'https://www.facebook.com'> New Game Name </a>

虽然我期待输出是

New Game Name

如何纠正?

更新

基本上,我使用下面的代码,将NSString 添加到NSMutableDictionary。我不太确定如何将已被广泛推荐的UIActivityViewController 方法应用于此方法。

-(void)postPictureWithText:(UIImage*)picture withTitle:(NSString*) title andDescription (NSString*)description

    NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
    //NSDictionary* paramsImmutable = params.copy;

    NSString *stringAppURLFormatted = [NSString stringWithFormat:@"<a href= 'https://www.facebook.com'> New Game Name </a>"];
    [params setObject:stringAppURLFormatted forKey:@"message"];

    [params setObject:UIImagePNGRepresentation(picture) forKey:@"picture"];
    [FBRequestConnection startWithGraphpath:@"me/photos"
                             parameters:params
                             HTTPMethod:@"POST"
                      completionHandler:^(FBRequestConnection *connection,
                                          id result,
                                          NSError *error)
     
         if (error)
         
             //failure
             NSLog(@"ERROR in posting to facebook");
         
         else
         
             //success
             NSLog(@"Result after posting image successfully = %@",result);
         
         // button.enabled = YES;
     ];
   

【问题讨论】:

***.com/questions/23779400/… How do I customize a UIActivityViewController to show a URL link when posting to facebook and twitter?的可能重复 我刚刚更新了问题 【参考方案1】:

您能否提供更多关于您如何将内容发布到 facebook 的详细信息? 如果您使用的是 UIActivityViewController 实例,NSHipster: UIActivity​View​Controller 上有一篇很好的文章@

将您的 URL 添加为活动项的技巧。 Facebook(或 twitter)会自动将其解释为附加链接。也许想要类似的东西:

NSURL *linkURL = [NSURL URLWithString:@"https://www.facebook.com"];
NSString *linkDescription = @"New Game Name";
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[linkDescription, linkURL] applicationActivities:nil];
[navigationController presentViewController:activityViewController animated:YES completion:^
    // ...
];

P.S.:*** 也有关于这个主题的精彩讨论

【讨论】:

以上是关于如何将 NSString 格式化为 URL?的主要内容,如果未能解决你的问题,请参考以下文章

将浮点数格式化为 NSString 时截断多余的零

Python - 将字符串格式化为 url 的最短方法

在 jquery 数据表中显示之前将 json 日期格式化为 mm/dd/yy 格式

如何将二进制数据转换为 NSstring?

声明一个带有格式说明符的 NSString 并将其用作在 UIWebview 中打开的 URL

AWS Athena (Presto) - 如何将时间戳格式化为日期格式?