Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在当前页面上立即更新应用程序中的语言_Ios_Objective C_Swift - Fatal编程技术网

Ios 如何在当前页面上立即更新应用程序中的语言

Ios 如何在当前页面上立即更新应用程序中的语言,ios,objective-c,swift,Ios,Objective C,Swift,如何以高效、简单的方式在应用程序之间切换语言? 我目前的做法是写一个单身汉 有一种方法可以在单个实例中重置rootViewController 这种方法如果根视图的情况不同,如何动态重置 例如,根视图的类型为UIViewController或UIAbbarController 重置根视图的方法有几个缺陷 有时无法停留在切换语言页面 例如,根视图是UIViewController,切换语言中的页面是UIABController 如果是UITabBarController、viewControlle

如何以高效、简单的方式在应用程序之间切换语言?

我目前的做法是写一个单身汉

有一种方法可以在单个实例中重置rootViewController

这种方法如果根视图的情况不同,如何动态重置

例如,根视图的类型为UIViewController或UIAbbarController

重置根视图的方法有几个缺陷

  • 有时无法停留在切换语言页面
  • 例如,根视图是UIViewController,切换语言中的页面是UIABController

  • 如果是UITabBarController、viewControllers页面,大量的数据请求和切换语言都会重新请求,这显然是非常不合理的

    • 另一种方法是使用NotificationCenter,但这种方法 我认为在我的整个应用程序中需要注册很多通知 不适合大规模使用

    我希望您能指导我如何使用转换语言,我可以使用Objective-C或Swift

    如果有更好的方法告诉我
    非常感谢

    为什么不将您的单例实例或任何其他实例注册到某个回调中呢?让我们假设一个数组包含实现某个委托的实例“changeLanguage:”或其他什么,当您更改语言时,所有委托都会得到更新的通知?-->LanguageCallbackHandler与NSArray*languageUpdateCallbacks和委托/协议一起使用,该委托/协议将要求相关委托实现“更新”功能。您能说更多详细信息吗?或者给出一些示例代码MultiLanguage.shared.callBack{([LanguageUpdateLegate])in}是这样的吗?以及如何做到这一点