2014-04-17 45 views
0

我目前有一個const void *如何轉換的NSString爲const無效

問題轉換NSString這裏是我的代碼:

DoSomethingFunction:(const void *)parameter 

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

密碼字段爲UITextfield。當我嘗試並投射它時,該值變爲空。

我想passwordField.text是一個const void *,因此它可以在函數中使用。

+0

你可以發佈更多的代碼? – KudoCC

+1

一個指針* not *通過強制轉換爲空... –

+1

@KudoCC爲什麼?這解釋了他們在相當好之後所做的工作,他們試圖將'passwordField.text'傳遞給'const void *'爲什麼他需要共享更多的代碼。 – Popeye

回答

0

嘗試鑄造的NSString的方法,返回C字符串之一的結果:

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

NSString Class Reference

1

這取決於功能的實現。它可以是這樣的:

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

如果功能有類似的參數處理

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

NSString * string = CFBridgingRelease(parameter); NSLog(@「%@」,string); 無法訪問 – ColdSteel

相關問題