gpt4 book ai didi

objective-c - 从路径创建 TFENode

转载 作者:搜寻专家 更新时间:2023-10-30 19:47:36 25 4
gpt4 key购买 nike

如何从路径创建 TFENode?


编辑:

我扯远了点,TGlobalWindowController里面有方法:

struct TString {
struct TRef<const __CFString *, TRetainReleasePolicy<CFStringRef>> fString;
};

...

+ (struct TFENode)nodeForUrl:(const struct TString *)arg1;

很遗憾,我无法创建 TString .


编辑2:
经过研究,我发现这个方法有效:

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, 0, 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;
}

关于objective-c - 从路径创建 TFENode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23539557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com