Mam zmienną o nazwie Time_diff w aplikacji, którą robię. Muszę przekazać go w funkcji OBJ-C, która bierze nieabezpieczonyPointer?.

Szybki:

var time_diff = [Int](repeating: 0, count: MAX_NODE)

Funkcja OBJ-C:

- (instancetype) initWithRawDataX:(float *)x Y:(float*)y pressure:(float *)p time_diff:(int *)time penColor:(UInt32)penColor penThickness:(NSUInteger)thickness startTime:(UInt64)start_at size:(int)size normalizer:(float)inputScale
0
Trevor Walker 6 grudzień 2019, 02:22

1 odpowiedź

Najlepsza odpowiedź

Patrz ręczne zarządzanie pamięcią w Dokumentach Apple: https://developer.apple.com/documentation/ Swift / Swift_standard_library / Manual_Memory_management.

W tym przypadku, jeśli funkcja jest importowana do Swift jako mający UnsafeMutablePointer<Int32> dla typu time_diff, powinieneś zadeklarować tablicę w Swift jako [Int32] zamiast [Int]. Następnie przekazuj go jako &time_diff (argument {x5}}).

0
Anatoli P 7 grudzień 2019, 03:57