Xamarin.iOS 中 NSString stringWithFormat 的等价物是啥

Posted

技术标签:

【中文标题】Xamarin.iOS 中 NSString stringWithFormat 的等价物是啥【英文标题】:What is the equivalent of NSString stringWithFormat in Xamarin.iOSXamarin.iOS 中 NSString stringWithFormat 的等价物是什么 【发布时间】:2015-12-11 08:30:19 【问题描述】:

我正在使用 Azure 通知中心发送通知。我希望这些通知是多语言的,但我找不到

NSString* jsontemplate= [NSString stringWithFormat:@"\"aps\":
\"alert\":\"$(News_%@)\",\"inAppMessage\":\"$(News_%@)\"",
localeString, localeString];

在函数中使用

Hub.RegisterTemplateAsync(deviceToken,name,jsontemplate,expirytemplate,tags, 
(errorCallback) => 
  if (errorCallback != null)
    Console.WriteLine("RegisterNativeAsync error: " +  errorCallback.ToString());                );

这将替换下面代码 sn-p 中的 Hub.RegisterNativeAsync 函数,我现在拥有它,它适用于简单的通知。

public override void RegisteredForRemoteNotifications(UIApplication     application, NSData deviceToken)
    
        Hub = new SBNotificationHub(TnOConstants.AzureListenConnectionString, TnOConstants.AzureNotificationHubName);

        Hub.UnregisterAllAsync (deviceToken, (error) => 
            if (error != null)
            
                Console.WriteLine("Error calling Unregister: 0", error.ToString());
                return;
            

            string[] tag = new string[]"tnoios", "ios-"+ appVersion.ToString();

            NSSet tags = new NSSet(tag);
            Hub.RegisterNativeAsync(deviceToken, tags, (errorCallback) => 
                if (errorCallback != null)
                    Console.WriteLine("RegisterNativeAsync error: " + errorCallback.ToString());
            );
        );
    

我正在关注这个教程https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-ios-send-localized-breaking-news/

【问题讨论】:

如果您使用的是 C#,则等价于 string.Format("01", firstArg, secondArg); 【参考方案1】:

我最终使用 String.Format() 作为上述短语的 NSString stringWithFormat 的等效模板是:

string template = String.Format(@"""aps"":""alert"":""$(0)""", localeString);

【讨论】:

以上是关于Xamarin.iOS 中 NSString stringWithFormat 的等价物是啥的主要内容,如果未能解决你的问题,请参考以下文章

如何知道 xamarin iOS 中当前的故事板名称?

具有UIWebView请求的Xamarin iOS授权标头

Xamarin SQLite教程Xamarin.iOS项目添加引用

使用Xamarin Effect删除Xamarin.iOS中TextEntry上的圆角

Xamarin.forms(或)xamarin.ios/xamarin.android(或)本机

Xamarin.iOS 应用在 iOS 14.0 中询问本地网络权限