diff --git a/WeakArray.xcodeproj/xcuserdata/archer.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/WeakArray.xcodeproj/xcuserdata/archer.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..fe2b454 --- /dev/null +++ b/WeakArray.xcodeproj/xcuserdata/archer.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,5 @@ + + + diff --git a/WeakArray.xcodeproj/xcuserdata/archer.xcuserdatad/xcschemes/WeakArray.xcscheme b/WeakArray.xcodeproj/xcuserdata/archer.xcuserdatad/xcschemes/WeakArray.xcscheme new file mode 100644 index 0000000..7c4bdb7 --- /dev/null +++ b/WeakArray.xcodeproj/xcuserdata/archer.xcuserdatad/xcschemes/WeakArray.xcscheme @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WeakArray.xcodeproj/xcuserdata/archer.xcuserdatad/xcschemes/xcschememanagement.plist b/WeakArray.xcodeproj/xcuserdata/archer.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..6289bbb --- /dev/null +++ b/WeakArray.xcodeproj/xcuserdata/archer.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,27 @@ + + + + + SchemeUserState + + WeakArray.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 85A33C54198548BC00AD4CF4 + + primary + + + 85A33C5F198548BC00AD4CF4 + + primary + + + + + diff --git a/WeakArray/WeakArray.swift b/WeakArray/WeakArray.swift index 02ae53e..eca041d 100644 --- a/WeakArray/WeakArray.swift +++ b/WeakArray/WeakArray.swift @@ -6,6 +6,8 @@ // Copyright (c) 2014 David Mauro. All rights reserved. // +import Foundation + // MARK: Operator Overloads public func ==(lhs: WeakArray, rhs: WeakArray) -> Bool { @@ -26,7 +28,7 @@ public func !=(lhs: WeakArray, rhs: WeakArray) -> Bool { return !(lhs == rhs) } -public func ==(lhs: Slice, rhs: Slice) -> Bool { +public func ==(lhs: ArraySlice, rhs: ArraySlice) -> Bool { var areEqual = false if lhs.count == rhs.count { areEqual = true @@ -40,7 +42,7 @@ public func ==(lhs: Slice, rhs: Slice) -> Bool { return areEqual } -public func !=(lhs: Slice, rhs: Slice) -> Bool { +public func !=(lhs: ArraySlice, rhs: ArraySlice) -> Bool { return !(lhs == rhs) } @@ -59,7 +61,7 @@ public func += (inout lhs: WeakArray, rhs: Array) -> WeakArray { private class Weak { weak var value : T? var description: String { - if let val = value? { + if let val = value { return "\(val)" } else { return "nil" @@ -110,8 +112,8 @@ public struct WeakArray: SequenceType, Printable, DebugPrintable, } public func generate() -> GeneratorType { - let weakSlice: Slice = items[0.. = weakSlice.map { $0.value } + let weakSlice: ArraySlice = items[0.. = weakSlice.map { $0.value } return GeneratorType(items: slice) } @@ -128,10 +130,10 @@ public struct WeakArray: SequenceType, Printable, DebugPrintable, } } - public subscript(range: Range) -> Slice { + public subscript(range: Range) -> ArraySlice { get { - let weakSlice: Slice = items[range] - let slice: Slice = weakSlice.map { $0.value } + let weakSlice: ArraySlice = items[range] + let slice : ArraySlice = weakSlice.map { $0.value } return slice } set(value) { @@ -170,17 +172,17 @@ public struct WeakArray: SequenceType, Printable, DebugPrintable, items.removeRange(subRange) } - mutating public func replaceRange(subRange: Range, with newElements: Slice) { + mutating public func replaceRange(subRange: Range, with newElements: ArraySlice) { let weakElements = newElements.map { Weak(value: $0) } items.replaceRange(subRange, with: weakElements) } - mutating public func splice(newElements: Slice, atIndex i: Int) { + mutating public func splice(newElements: ArraySlice, atIndex i: Int) { let weakElements = newElements.map { Weak(value: $0) } items.splice(weakElements, atIndex: i) } - mutating public func extend(newElements: Slice) { + mutating public func extend(newElements: ArraySlice) { let weakElements = newElements.map { Weak(value: $0) } items.extend(weakElements) } @@ -209,7 +211,7 @@ public struct WeakArray: SequenceType, Printable, DebugPrintable, public struct WeakGenerator: GeneratorType { typealias Element = T - private var items: Slice + private var items: ArraySlice mutating public func next() -> T? { while !items.isEmpty {