2014-04-21 32 views
0

我正在使用Parse进行数据存储。我创建自己的游戏查询打开得分这在回调返回数组是这样的:如何将结果的NSArray迭代到单独的数组中

(
"<GameTurnScore:ipPd3tKRc1:(null)> {\n GameRef = \"<Game:jGBok5ZiXM>\";\n TotalGuesses = 1;\n TurnDifficulty = 0;\n TurnNumber = 1;\n TurnScore = 500;\n UserRef = \"<PFUser:e3Wyo4JaKC>\";\n}", 
"<GameTurnScore:AendjA9Yzq:(null)> {\n GameRef = \"<Game:jGBok5ZiXM>\";\n TotalGuesses = 6;\n TurnDifficulty = 1;\n TurnNumber = 2;\n TurnScore = 48;\n UserRef = \"<PFUser:UgkZDtDsVC>\";\n}", 
"<GameTurnScore:ZTNmSkGae1:(null)> {\n GameRef = \"<Game:jGBok5ZiXM>\";\n TotalGuesses = 8;\n TurnDifficulty = 2;\n TurnNumber = 3;\n TurnScore = 60;\n UserRef = \"<PFUser:e3Wyo4JaKC>\";\n}", 
"<GameTurnScore:8QbcznSa1u:(null)> {\n GameRef = \"<Game:jGBok5ZiXM>\";\n TotalGuesses = 3;\n TurnDifficulty = 1;\n TurnNumber = 4;\n TurnScore = 99;\n UserRef = \"<PFUser:UgkZDtDsVC>\";\n}", 
"<GameTurnScore:Mj6LmdE5LY:(null)> {\n GameRef = \"<Game:jGBok5ZiXM>\";\n TotalGuesses = 8;\n TurnDifficulty = 0;\n TurnNumber = 5;\n TurnScore = 60;\n UserRef = \"<PFUser:e3Wyo4JaKC>\";\n}", 
"<GameTurnScore:qeDWt7KFK2:(null)> {\n GameRef = \"<Game:jGBok5ZiXM>\";\n TotalGuesses = 12;\n TurnDifficulty = 1;\n TurnNumber = 6;\n TurnScore = 24;\n UserRef = \"<PFUser:UgkZDtDsVC>\";\n}", 
"<GameTurnScore:RMRYi9fkUu:(null)> {\n GameRef = \"<Game:jGBok5ZiXM>\";\n TotalGuesses = 1;\n TurnDifficulty = 2;\n TurnNumber = 7;\n TurnScore = 500;\n UserRef = \"<PFUser:e3Wyo4JaKC>\";\n}", 
"<GameTurnScore:Fd78iI8NGo:(null)> {\n GameRef = \"<Game:jGBok5ZiXM>\";\n TotalGuesses = 6;\n TurnDifficulty = 1;\n TurnNumber = 8;\n TurnScore = 48;\n UserRef = \"<PFUser:UgkZDtDsVC>\";\n}", 
"<GameTurnScore:qioVUqmbEB:(null)> {\n GameRef = \"<Game:jGBok5ZiXM>\";\n TotalGuesses = 1;\n TurnDifficulty = 2;\n TurnNumber = 9;\n TurnScore = 500;\n UserRef = \"<PFUser:e3Wyo4JaKC>\";\n}", 
"<GameTurnScore:iFLS39GqLM:(null)> {\n GameRef = \"<Game:jGBok5ZiXM>\";\n TotalGuesses = 1;\n TurnDifficulty = 1;\n TurnNumber = 10;\n TurnScore = 300;\n UserRef = \"<PFUser:UgkZDtDsVC>\";\n}" 
) 

然后我需要这些分数分成两个独立的数组。目前我基于用户分开,但我想根据TurnNumber分开它们。

我不确定的具体部分是如果转弯号不存在,则将一个emtpy索引或[NSNull null]插入索引。

例如,我有两个新的NSArrays调用scoreBlock1scoreBlock2。如果缺少第3轮,我想在scoreBlock1以下。

turnNumber1
NSNull空
turnNumber5
turnNumber7
turnNumber9

什么是迭代结果数组实现这一目标的最佳方式是什么?

+0

空值的存在,为什么你要到位失踪圈空值?似乎只是让他们失踪会更容易处理。另外,你如何“知道”缺少一个转身? – CrimsonChris

+0

谢谢,我想原因是我知道每个索引中有一个对象。如果我只是添加任何转到新数组我如何检查索引中是否有对象? – StuartM

回答

0

您可以使用[array addObject:[NSNull null]]将空值插入到数组中。

将来可以测试使用[object isKindOfClass:[NSNull class]]

+0

谢谢,我知道我可以使用'valueForKey ...'和'objectForKey'来检索我需要的值。问题更多的是围绕如何处理缺少特定转折分数以及在那里插入空值。 – StuartM

+0

如果您使用valueForKeyPath的切片变体,它会将NSNull放入缺少的值中,这就是我解释您的请求的方式。如果您不打算切片数组,但只想查找缺失的分数,则可能需要查看filteredArrayUsingPredicate和predicate TurnNumber = nil。 –

+0

如果你想在for循环中建立两个结果数组,你可以使用'addObject:[NSNull null]' –

相关问题