我正在尝试初始化NSString
。我尝试了initWithString:
,但由于NSString
变为NSPlaceholderString
,因此无效。我切换到UTF8string
,但它返回一个空值。
以下代码:
- (void) test:(NSString*)thing {
id (*p_objc_msgSend)(id p, SEL sel, ...);
id (*p_objc_getClass)(const char *s);
Class class;
p_objc_getClass = objc_getClass;
p_objc_msgSend = objc_msgSend;
NSString *s;
class = (*p_objc_getClass)( "NSString");
//SEL init = @selector(initWithString:);
s = (*p_objc_msgSend)(class, @selector(alloc));
s = (*p_objc_msgSend)(s, @selector(initWithUTF8String:), "AAA");
NSLog(@"Value of %@", s);
}
答案 0 :(得分:0)
NSString是一个具有多个私有子类的类集群。 NSPlaceholderString是NSString的子类,因此您可以继续将该对象用作任何其他NSString。