如何将NSString转换为const void

时间:2014-04-17 08:43:08

标签: ios objective-c nsstring

我目前在将NSString转换为const void *

时遇到问题

这是我的代码:

DoSomethingFunction:(const void *)parameter

 [class DoSomeThingFunction:(const void *)passswordField.text]

密码字段是UITextfield。当我尝试投射它时,该值变为null。

我希望passwordField.text成为const void *,因此可以在函数中使用它。

2 个答案:

答案 0 :(得分:1)

这取决于功能实现。它可以是这样的:

NSString *string = @"text";
const void *parameter = CFBridgingRetain(string);
DoSomethingFunction(parameter);

如果函数具有类似的参数处理

void DoSomethingFunction(const void *parameter) {
    NSString *string = CFBridgingRelease(parameter);
    NSLog(@"%@", string);
}

答案 1 :(得分:0)

尝试转换返回C字符串的NSString方法之一的结果:

– cStringUsingEncoding:
– getCString:maxLength:encoding:
– UTF8String

NSString Class Reference