由于管理项目的 XCodes 文件的文档很差,我无法理解 xcschememanagement.plist 文件的用途,这给我带来了很多问题。
谁能解释一下这个文件的用途,以及我们应该如何使用 git 源代码控制来处理它?
这是文件的完整路径PROJECT_ROOT/xcuserdata/alecmather.xcuserdatad/xcschemes/xcschememanagement.plist
我的 git 和这个文件的问题:假设我从branch_1开始。我对这个分支做了一些承诺。然后我切换到branch_2。我在那里做了一些承诺,并决定运行我的项目。完成后,我停止运行我的项目并切换回branch_1。我在那里运行我的项目,然后关闭它。我尝试切换回branch_2,但被 git 阻止,说我在当前目录中有未提交的更改。但我除了运行我的项目之外什么也没做。
所以我假设这个文件包含一些在构建/运行项目时可以更改的内容?但是当一直在分支之间切换时,这真的很乏味。在这种情况下我是否要提交对该文件的更改?我可以安全地放弃这些更改吗?
我有一个数组(移动)。我想迭代我的移动数组并为每个元素设置一个条件。条件是,如果元素中的任何一个数字为负数,那么我想从 moves 数组中删除该元素。循环无法正确删除我的项目。但是如果我通过完全相同的循环运行它两次,那么它将删除最后一个元素。这对我来说毫无意义。使用Python 3.6
moves = [[3,-1],[4,-1],[5,-1]]
for move in moves:
if move[0] < 0 or move[1] < 0:
moves.remove(move)
Run Code Online (Sandbox Code Playgroud)
如果运行此代码,移动将以 [[4,-1]] 的结果结束,但是如果您再次通过完全相同的 for 循环运行此结果,则结果为 []
我还尝试使用更多元素来执行此操作,但由于某种原因,它只是没有抓住某些元素。这是 .remove() 的错误吗?这就是我尝试过的...(在此我尝试检测非负数以查看这是否是问题的一部分,但事实并非如此)
moves = [[3,1],[4,1],[5,1],[3,1],[4,1],[5,1],[3,1],[4,1],[5,1]]
for move in moves:
if move[0] < 2 or move [1] < 2:
moves.remove(move)
Run Code Online (Sandbox Code Playgroud)
上面代码的结果是
moves = [[4, 1], [3, 1], [4, 1], [5, 1]]
Run Code Online (Sandbox Code Playgroud)
有任何想法吗???
我assert为此使用 chai 的语法。
我知道如果我想检查对象数组中的特定对象,我可以这样做:
assert.deepInclude(
[
{ name: 'foo', id: 1 },
{ name: 'bar', id: 2 }
],
{ name: 'foo', id: 1 }
)
Run Code Online (Sandbox Code Playgroud)
哪个应该通过。
但是,如果我正在检查的对象中只有 1 个属性怎么办?像这样:
assert.deepInclude(
[
{ name: 'foo', id: 1 },
{ name: 'bar', id: 2 }
],
{ name: 'foo' }
)
Run Code Online (Sandbox Code Playgroud)
我仍然希望它通过,但它告诉我它失败了,因为那个确切的对象不存在。
chai ×1
git ×1
javascript ×1
mocha.js ×1
node.js ×1
python ×1
python-3.x ×1
swift ×1
xcode ×1
xcode11 ×1