小编And*_*eas的帖子

我的Base Internationalization故事板是否必须与所有未本地化的语言和字符串的后备语言相对应?

我查看了苹果开发人员的一些国际化文档和视频,但我从未找到过该问题的明确答案.在苹果的教程,我看到Base.lproj旁边的文件夹en.lprojzh.lproj-范例翻译(本地化)是从英语到中国.但他们告诉我,有一个文件en.lproj/myStoryboard.strings,这是令人困惑的.我无法看到为故事板创建英语本地化的重点(已经是英文版).

  1. 所以我的问题是用户是否会看到字符串Base.lproj/myStoryboard.storyboard
  2. 如果系统在我的捆绑包中找不到用户的首选语言文件夹,那么该文件中的字符串是否必须是向用户显示的默认字符串?
  3. 我可以明确地说"永远不要使用Base.lproj/myStoryboard.storyboard,永远都会依赖en.lproj/myStoryboard.strings"吗?

换句话说:
假设用户的语言不可用,我希望我的应用程序以英语显示,但我的Base.lproj/myStoryboard.storyboard是瑞典语.那么我是否必须将Base Storyboard本地化并将Base故事板中的sv.lproj/myStoryboard.strings所有字符串翻译成英语才能完成此操作?

xcode localization internationalization ios uistoryboard

10
推荐指数
1
解决办法
4780
查看次数

我在xcode中添加了一个本地化,将其删除,现在我的故事板已经消失了

所以我想尝试本地化我的应用程序.我的项目文件夹中有一个Storyboard.storyboard.

  1. 我检查了"使用基础国际化"复选框,然后xcode对我的文件做了一些事情.
  2. 我继续添加第二个本地化
  3. Xcode告诉我它无法创建一些.plist,因为它已经存在.
  4. 我最后得到了两个故事板("Base"和"English"组合在一起),这非常奇怪,因为文档清楚地说我只需要处理一组故事板(当使用基础交互化时),而其他语言会是字符串文件:

    基础国际化是Xcode 4.5中引入的一项功能,它可以减少本地化程序(即翻译人员)需要修改应用程序支持的每种语言的故事板和nib文件.相反,应用程序只有一组故事板或nib文件本地化为默认语言; 这些故事板和笔尖被称为基础国际化.当您向应用程序添加本地化时,Xcode会为每个故事板或nib文件显示或包含的所有文本生成一个字符串文件,作为辅助功能标签或提示.Xcode为文件提供了故事板的名称和扩展字符串.因此,如果您有一个名为MyStoryboard.storyboard的故事板,则生成的字符串文件名为MyStoryboard.strings.

  5. 我删除了我新创建的本地化(英语),因为这不是我的预期
  6. 现在所有的故事板都消失了,尽管我只删除了一个本地化

我现在在我的垃圾箱里有两个故事板(一个是"storyboard.storyboard",另一个是故事板,一些数字 .storyboard),但我不知道1)我应该使用哪一个,2)它应该是某种类型的从我检查"基础国际化"选项后,子文件夹现在?那些.plists怎么样?我读了这个页面上的内容,但它告诉我在哪里点击比告诉我不同​​文件的目的做得更好,所以我不知道如何正确地反转这个

更新:

现在,当我重新启动xcode时它看起来像这样: 两个基本本地化,这意味着什么?

我不知道从哪里开始......

xcode localization internationalization storyboard ios

6
推荐指数
1
解决办法
1万
查看次数

以编程方式显示可刷新列表的拉动刷新活动指示器

我想知道是否有一种简单的方法可以使 SwiftUI 的刷新控件使用的活动指示器可见List?这将提供一致的刷新 UI 外观,无论刷新是如何启动的。

List使用修饰符启用a上的pull刷新后refreshableLists环境就有了它的refresh项目集,RefreshAction供刷新控件使用。我的猜测是,使用它RefreshAction也可能会触发刷新控件的可见性,我尝试过:

struct MyView : View {
    @State var content: Content
    
    var body: some View {
        _MyView(content: $content)
            .refreshable { // assigning `refresh` to the environment
                await refresh()
            }
    }
    
    private func refresh() async {
        // ...
        content = newContent
        // ...
    }
}

struct _MyView : View {
    @Environment(\.refresh) private var refresh
    // [ content binding, etc... ]

    var body: some View …
Run Code Online (Sandbox Code Playgroud)

pull-to-refresh swift swiftui swiftui-list swiftui-environment

5
推荐指数
0
解决办法
1199
查看次数

有没有办法通过 6502 的操作码以编程方式确定寻址模式?

即不同的寻址模式是否以某种方式编码在操作码中?可以通过编程方式提取它们还是这些信息仅存在于 6502 的文档中?我正在编写一个模拟器,我不关心性能。如果可能的话,最好有一个接受操作码并返回寻址模式的函数。

到目前为止,我还没有发现任何迹象表明代码中存在某种模式,除了所有零页指令似乎都设置了第三位之外。

6502 emulation opcode addressing-mode

4
推荐指数
1
解决办法
1060
查看次数

使用Swift UIApplication子类的Objective-C项目.错误:未加载类

我有一个用Objective-C编写的项目,我刚刚使用Swift添加了一个UIApplication子类:( RMFApplication.swift在帖子末尾实现).但是,我收到此错误:

由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无法实例化UIApplication子类实例.没有加载名为RMFApplication的类.

  • 在我的info.plist中,我在NSPrincipalClass下正确指定了名称,并仔细检查了它.
  • 我读了这个答案然后看了我自己main.m说的:return UIApplicationMain(argc, argv, nil, NSStringFromClass([RMFAppDelegate class]));.
  • 文档UIApplicationMain说if if nil被指定为thrid值然后UIApplication被假设,但为什么我的错误消息包含我的自定义类名?我必须假设nil它将读取info.plist值.

注意:子类化UIApplication适用于RMFApplication.hRMFApplication.m.唯一改变的是重命名这些文件和添加一个RMFApplication.swift文件,它编译时没有任何警告:

import UIKit

class RMFApplication: UIApplication {

    override func openURL(url: NSURL) -> Bool
    {
        println(url.description)
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以继续使用Objective-C,但我想尝试迁移到Swift,除非两者真的不能很好地结合在一起.

objective-c uiapplication ios swift

4
推荐指数
1
解决办法
755
查看次数

从Xcode 6安装失败:"存在内部API错误"

我尝试在ipad(ios 7.1.2)上运行可在我的手机上运行的应用程序(ios 8.4.1).Xcode说"存在内部API错误",就是这样.

我不知道如何解释日志.怎么了?我该如何解决?

ipad日志:

Aug 29 17:39:23 Esters-iPad lockdownd[52] <Notice>: 00201000 set_response_error: handle_get_value GetProhibited
Aug 29 17:39:23 Esters-iPad lockdownd[52] <Notice>: 01a88000 set_response_error: handle_get_value GetProhibited
Aug 29 17:39:24 Esters-iPad mobile_installation_proxy[2054] <Warning>: LaunchServices: installing app for existing placeholder LSApplicationProxy: aka-strax
Aug 29 17:39:24 Esters-iPad mobile_installation_proxy[2054] <Warning>: LaunchServices: Not creating progress for LSApplicationProxy: aka-strax since it is not a placeholder.
Aug 29 17:39:24 Esters-iPad installd[1988] <Notice>: 0x2c7000 handle_install_for_ls: Install of "/var/mobile/Media/PublicStaging/A?ka Strax.app" requested by mobile_installation_proxy
Aug 29 17:39:24 Esters-iPad installd[1988] <Error>: 0x2c7000 …
Run Code Online (Sandbox Code Playgroud)

xcode ipad ios

4
推荐指数
1
解决办法
5136
查看次数

无法在Xcode中构建错误"[method]已明确标记为不可用"

我在项目中没有改变任何内容,突然间我在构建设备时遇到了这些错误:

'componentsWithURL(_:resolvingAgainstBaseURL:)' is unavailable: use object construction 'NSURLComponents(URL:resolvingAgainstBaseURL:)'

'componentsWithURL(_:resolvingAgainstBaseURL:)' has been explicitly marked unavailable here (Foundation.NSURLComponents)
Run Code Online (Sandbox Code Playgroud)

在这条线上:

let urlComponents = NSURLComponents.componentsWithURL(url, resolvingAgainstBaseURL: false)
Run Code Online (Sandbox Code Playgroud)

快速帮助说NSSURLComponents自"iOS(8.0及更高版本)"以来,方法(和类)已经可用.文档说"在iOS 7.0及更高版本中可用".奇怪.

如果我按照错误的方向和使用构造函数,而不是,我访问时收到编译器错误urlComponents.schemeurlComponents.URL.并不是说我抱有很高的期望 - 我的代码没有受到影响,并且已经编好了几周没有问题.

  • 我清理了产品和构建文件夹
  • 我恢复了一个已知的工作提交
  • 我关闭了项目,重新启动了Xcode,重新启动了操作系统,重新安装了Xcode
  • 尝试运行调试和发布
  • 尝试将部署目标更改为8.0
  • 尝试在模拟器和设备上运行

在Xcode中唯一看起来不同的是,在我的项目名称下面写着"ios sdk 8.1".我记得之前曾经见过8.0,但我从来没有改过它,也没有办法改变它.不知道为什么会有任何不同.

Xcode版本6.1(6A1052d)

xcode ios swift

2
推荐指数
1
解决办法
7426
查看次数