我有以下类,我正在挂钩,我试图找出如何挂钩和设置m_proxyPort。我可以毫无问题地阅读它,但如果我想改变它怎么样?
有3个NSString ivars的setter,但是没有m_proxyPort的setter,想知道是否有办法设置ivar?
@interface DDURLProtocol : NSURLProtocol <NSURLAuthenticationChallengeSender, DDURLProtocolHttpAdapterDelegate>
{
int m_proxyPort;
NSString *_proxyHost;
NSString *_proxyUsername;
NSString *_proxyPassword;
}
%hook DDURLProtocol
- (void) check
{
[self setProxyHost:@"127.0.0.1"];
int pp = MSHookIvar<int>(self, "m_proxyPort");
NSLog(@"proxyPort: %d", pp);
// How to set m_proxyPort????
}
%end
答案 0 :(得分:6)
您可以按照相同的方式设置它。
MSHookIvar<int>(self, "m_proxyPort") = 23;