這和UnionRects(rect1,rect2)一樣嗎?我正在嘗試將一些Swift代碼翻譯爲Objective C.我無法在引用或谷歌搜索中找到它。Swift中的「rect1 + = rect2」是什麼意思?
看過這個之後,我想我看到了我的問題。這是一系列的反派,而不是一個正義。顯然,「+ =」是針對數組的。
這是直出的Apple's sample code for Photos:
fileprivate func differencesBetweenRects(_ old: CGRect, _ new: CGRect) -> (added: [CGRect], removed: [CGRect]) {
if old.intersects(new) {
var added = [CGRect]()
if new.maxY > old.maxY {
added += [CGRect(x: new.origin.x, y: old.maxY, width: new.width, height: new.maxY - old.maxY)]
}
...
}
你在說CGREct嗎? CGRect沒有內置的'+ ='運算符。你有這樣一個運營商的自定義實現嗎? – rmaddy
既然你已經發布了真實的代碼,你的問題就解決了。你沒有執行'CGRect'的聯合。您正在爲'CGRect'數組添加一個'CGRect'。方括號是一個數組。 – rmaddy