我有一个用 Swift 完成的 iOS 大型基础项目。现在我尝试通过创建新目标来创建不同的客户端版本:
基础项目运行得很好。但是当我切换到新目标时,我收到以下 NSUnknownKeyException:
Terminating app due to uncaught exception 'NSUnknownKeyException',
reason: '[<UIViewController 0x135e57c40> setValue:forUndefinedKey:]:
this class is not key value coding-compliant for the key textConfirmPassword.'
Run Code Online (Sandbox Code Playgroud)
“textConfirmPassword”是我的 main.storyboard 中文本字段的引用。
在完成这一切之前,我使用图像和引用的标签创建了一个示例项目。版本控制工作得很好。
我在我的 Xcode 项目中创建了不同的目标来为不同的客户端版本我的应用程序。每个客户端使用不同的 xcassets,每个目标一个。这样我就可以拥有相同名称的不同图像。因此,只需选择目标,就会显示正确的图像。
这适用于我的应用程序中的任何视图。每当我在不同的目标中运行应用程序时,所有图像都会自动更改。问题是当我的启动屏幕中有图像时。我为启动屏幕创建了 .xib 文件(每个客户端一个)。
通过选择目标,正确的 .xib 运行,但它加载的图像始终与基础项目相同。
这就是我组织项目的方式,因此不同的目标会自动选择不同的图像:
当我选择一个目标时,应该加载具有该目标成员资格的所有元素。只有我的启动屏幕从Base.xcassets加载图像启动。
我有一个 np 数组数组,我想删除与条件匹配的所有元素。我想避免for循环以使其更快。
np 数组的形状为 [N,2]。我想删除第一个元素等于零的所有子数组。
[[1,2],
[0,5], # <--- Remove
[5,1],
[0,3], # <--- Remove
[1,1],
[0,0], # <--- Remove
[5,0],
.....
[5,5]]
Run Code Online (Sandbox Code Playgroud)
我希望有一个只需一行代码的解决方案。我只是无法弄清楚这条线。我希望有人能帮助我。
谢谢。