Iphone 为什么这个for循环不执行?
我有一个选择器视图控制器来选择化学源和可能的浓度。如果源没有浓度,它只显示一个选择器。它由一个以源类型名称为键的NSDictionary和一个名为Chemical的自定义模型对象填充,该对象有四个属性,两个NSString,一个float和一个BOOL 当我用包含两个成分的字典触发这个时,我想从所表示的化学物质中提取四个值。请注意,我使用前两个属性的值填充选择器,但不是float或BOOL。我遍历了第一个组件中选择的键的数组,并根据键/值数组中每个化学品的chemConcentration属性检查了第二个组件中的字符串。当化学浓度匹配时,我知道我有正确的化学物质,并且我可以得到它的属性以返回 唷 问题是,即使我知道我得到了for循环,它似乎被跳过了。打印前的NSLog,但里面的没有。sourceConstant和sourceIsLiquid保持为0.0和否Iphone 为什么这个for循环不执行?,iphone,objective-c,xcode,loops,uipickerview,Iphone,Objective C,Xcode,Loops,Uipickerview,我有一个选择器视图控制器来选择化学源和可能的浓度。如果源没有浓度,它只显示一个选择器。它由一个以源类型名称为键的NSDictionary和一个名为Chemical的自定义模型对象填充,该对象有四个属性,两个NSString,一个float和一个BOOL 当我用包含两个成分的字典触发这个时,我想从所表示的化学物质中提取四个值。请注意,我使用前两个属性的值填充选择器,但不是float或BOOL。我遍历了第一个组件中选择的键的数组,并根据键/值数组中每个化学品的chemConcentration属性检
初始化循环计数i
for (int i = 0; i<[selectedChemicalGroup count]; i++)
执行以下操作,您将了解原因:
int i;
NSLog(@"%d", i);
您需要初始化变量i:for int i=0 但有一种更好的方法,使用快速枚举:
for (MyChemicalGroupClass *group in selectedChemicalGroup) {
if ([selectedConcentration isEqualToString:[group chemConcentration]]) {
...
}
}
for (MyChemicalGroupClass *group in selectedChemicalGroup) {
if ([selectedConcentration isEqualToString:[group chemConcentration]]) {
...
}
}