W Objective-C możesz zrobić coś takiego NSArray<ReviewC>* reviews;
aby utworzyć zmienną tablicę NSArray zgodną z protokołem ReviewC, muszę zrobić to samo w Swift, muszę ustawić NSArray zgodnie z protokołem, musi to być tablica NSArray, a nie tablica.
Wiem, że mogę to zrobić na Celu C i że mogę łączyć Cel C ze Swift, ale wolę używać Swift, jeśli to możliwe.
Odpowiedzi:
1 dla odpowiedzi № 1Myślę, że możesz to zrobić w ten sposób:
protocol ReviewC {
// protocol definition goes here
}
var reviews : NSArray = NSArray() as? protocol<ReviewC> as! NSArray
0 dla odpowiedzi nr 2
Możesz zadeklarować zmienną zgodną z protokołem, a następnie przypisać mu NSArray, po prostu upewnij się, że NSArray jest zgodny z tym protokołem.
var object: MyProtocol = NSArray(array: someArray)
w Twoim przypadku:
var object: ReviewC = NSArray(array: someArray)