objective-c – 从Path创建TFENode
发布时间:2020-12-16 07:08:47 所属栏目:百科 来源:网络整理
导读:如何从Path创建TFENode? 编辑: 我有点儿,TGlobalWindowController中有一个方法: struct TString { struct TRefconst __CFString *,TRetainReleasePolicyCFStringRef fString;};...+ (struct TFENode)nodeForUrl:(const struct TString *)arg1; 不幸的是,
如何从Path创建TFENode?
编辑: 我有点儿,TGlobalWindowController中有一个方法: struct TString { struct TRef<const __CFString *,TRetainReleasePolicy<CFStringRef>> fString; }; ... + (struct TFENode)nodeForUrl:(const struct TString *)arg1; 不幸的是,我无法创建TString. EDIT2: struct TString { //struct TRef<CFStringRef,TRetainReleasePolicy<CFStringRef>> fString; CFStringRef fString; }; NSString *path = [[NSString alloc] initWithString:@"file:///"]; struct TString *tstr = (struct TString *)malloc(sizeof(struct TString*)); tstr->fString = (CFStringRef)path; id node = [NSClassFromString(@"TGlobalWindowController") performSelector:NSSelectorFromString(@"nodeForUrl:") withObject:(id)tstr]; free(tstr); [path release]; 节点是正确的,但是一旦下一个垃圾收集过程开始,查找程序就会崩溃. 解决方法
找到答案:
+ (char*) nodeForPath:(NSURL*)url node:(char*) node { memset(node,0x204); int *v6; void* v7; if ( (double)NSAppKitVersionNumber < 1110.0 ) { v6 = (int *)[url absoluteString]; } else { v7 = [url absoluteString]; v6 = (int *)&v7; } objc_msgSend_stret((id)node,NSClassFromString(@"TGlobalWindowController"),NSSelectorFromString(@"nodeForUrl:"),v6); return node; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- System.Data.SQLite内存数据库多线程
- 使用c#Func作为IQueryable的一部分而不执行内存调
- flash Socket原理简要分析和flash Client网络层实
- swift – 如何检查实例是否实现了CollectionType
- vue学习笔记之vue1.0和vue2.0的区别介绍
- activerecord – Rails 3:使用form_for的非Acti
- ruby-on-rails – 使用cookie创建Ruby Net :: HT
- c# – MSpec:如何使静态变量线程安全?
- React Native android build失败。找不到SDK位置
- Flash Builder4.6 破解方法的实践
热点阅读