3
С Lib API: mycapi.hКак я справляюсь с указателем, когда Swift называет C API
typedef struct{
int itype;
double * dx;
double * dy;
}MyObjInfo;
typedef MyObjInfo * MyObjHandle;
MyObjHandle MyObjInit(const char *pFile);
добавить myapi.h как модуль
мой скор код:
import Foundation
import mycapiModule
var h:MyObjHandle = MyObjInit("/home/a")
var o:MyObjInfo = h.memory
////to do somethings
//...
h.destroy()
h = nil
print("\(o.itype)")
Итак, мои вопросы:
- Почему я все еще могу использовать
o
послеh.destroy()
? - Нужно ли мне уничтожать
h
иo
?
Я думаю, вам нужно использовать UnsafeMutablePointer: Вы можете прочитать о работе с C здесь: https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithCAPIs.html –