1
我想從SKSpriteNode數組中提取僅與預先確定的框架相交的元素。我可以通過迭代做到這一點:通過CGRectIntersectsRect過濾nsmutable數組
for (SKSpriteNode* Object in Array) {
if (CGRectIntersectsRect(Frame,Object.frame)) {
//extraction code
}
}
但是這種方法的服務表現似乎不佳,有一種方法更快的方式做到這一點的操作?我已經試過這樣的事情:
NSPredicate *Predicate = [NSPredicate predicateWithFormat:@"CGRectIntersectsRect(Frame,SELF.frame)"];
NSArray *Results = [Array filteredArrayUsingPredicate:Predicate];
但是,這會產生錯誤「無法解析函數名‘CGRectIntersectsRect’爲支持選擇器(CGRectIntersectsRect)」。怎麼了?使用predicate而不是for會給我一些性能上的提升?