我已经尝试了一些组合,但似乎不能正确使用。我希望将第2行和第3行合并为一行代码。
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == 'SSM M51 Copperhead'"];
NSArray *searchResults1 = [self.weaponsArray filteredArrayUsingPredicate:predicate];
weapons = [searchResults1 objectAtIndex:0];
if(weapons.range > SSMrange)
SSMrange = weapons.range;(“武器”是一个类)。
发布于 2013-07-19 23:53:16
weapons = [self.weaponsArray filteredArrayUsingPredicate:predicate][0];但这并不会让你的代码变得更快。
发布于 2013-07-20 00:05:28
像这样定义一个方法怎么样:
- (Weapon*)firstWeaponMatchingPredicateWithFormat:(NSString*)format
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:format];
NSArray *searchResults1 = [self.weaponsArray filteredArrayUsingPredicate:predicate];
return (searchResults1.count > 0 ? [searchResults1 objectAtIndex:0] : nil);
}通过以下方式进行呼叫:
Weapon *weapon = [self firstWeaponMatchingPredicateWithFormat:@"name == 'SSM M51 Copperhead'"];发布于 2013-07-20 00:08:07
weapon = [[self.weaponsArray filteredArrayUsingPredicate:predicate] objectAtIndex:0];https://stackoverflow.com/questions/17750370
复制相似问题