Wrote helper functions for objc_getClass() and sel_getUid().
This commit is contained in:
parent
133a3102f1
commit
3347d7fa48
|
@ -16,24 +16,31 @@ import (
|
||||||
// id objc_msgSend_strarg(id obj, SEL sel, char *a) { return objc_msgSend(obj, sel, a); }
|
// id objc_msgSend_strarg(id obj, SEL sel, char *a) { return objc_msgSend(obj, sel, a); }
|
||||||
import "C"
|
import "C"
|
||||||
|
|
||||||
|
func objc_getClass(class string) C.id {
|
||||||
|
cclass := C.CString(class)
|
||||||
|
defer C.free(unsafe.Pointer(cclass))
|
||||||
|
|
||||||
|
return C.objc_getClass(cclass)
|
||||||
|
}
|
||||||
|
|
||||||
|
func sel_getUid(sel string) C.SEL {
|
||||||
|
csel := C.CString(sel)
|
||||||
|
defer C.free(unsafe.Pointer(csel))
|
||||||
|
|
||||||
|
return C.sel_getUid(csel)
|
||||||
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
_NSString := C.CString("NSString")
|
|
||||||
defer C.free(unsafe.Pointer(_NSString))
|
|
||||||
_stringWithUTF8String := C.CString("stringWithUTF8String:")
|
|
||||||
defer C.free(unsafe.Pointer(_stringWithUTF8String))
|
|
||||||
_UTF8String := C.CString("UTF8String")
|
|
||||||
defer C.free(unsafe.Pointer(_UTF8String))
|
|
||||||
_hello := C.CString("hello, world\n")
|
_hello := C.CString("hello, world\n")
|
||||||
defer C.free(unsafe.Pointer(_hello))
|
defer C.free(unsafe.Pointer(_hello))
|
||||||
|
|
||||||
NSString := C.objc_getClass(_NSString)
|
NSString := objc_getClass("NSString")
|
||||||
stringWithUTF8String :=
|
stringWithUTF8String :=
|
||||||
C.sel_getUid(_stringWithUTF8String)
|
sel_getUid("stringWithUTF8String:")
|
||||||
str := C.objc_msgSend_strarg(NSString,
|
str := C.objc_msgSend_strarg(NSString,
|
||||||
stringWithUTF8String,
|
stringWithUTF8String,
|
||||||
_hello)
|
_hello)
|
||||||
UTF8String :=
|
UTF8String := sel_getUid("UTF8String")
|
||||||
C.sel_getUid(_UTF8String)
|
|
||||||
res := C.objc_msgSend_noargs(str,
|
res := C.objc_msgSend_noargs(str,
|
||||||
UTF8String)
|
UTF8String)
|
||||||
cres := (*C.char)(unsafe.Pointer(res))
|
cres := (*C.char)(unsafe.Pointer(res))
|
||||||
|
|
Loading…
Reference in New Issue