这很好用
return [[DJLocalizationSystem shared] localizedStringForKey:(key) value: @"" table: nil bundle:bundle];
但是,这不起作用
return objc_msgSend([DJLocalizationSystem shared], @selector(localizedStringForKey:value:table:bundle:),(key),@"",nil,bundle);
并且该方法返回一个字符串值。
EXC_BAD_ACCESS,代码= 1,地址= 0x8
有一个类似的问题stackoverflow,但我认为没有一个答案是正确的。它与0x8无关。
答案 0 :(得分:0)
objc_msgSend
在32位iPhone和模拟器中运行良好,但在64位iPhone中,你必须指出类型。所以我的代码是
NSString *(*action)(id, SEL, NSString *, NSString *, NSString *, NSBundle *) = (NSString * (*) (id, SEL, NSString *, NSString *, NSString *, NSBundle *) ) objc_msgSend;
action(system, @selector(localizedStringForKey:value:table:bundle:), (key), @"", nil, [NSBundle bundleForActionCamera]);