2014-12-04 174 views
2

我有一個xcode 6 swift項目,我正在嘗試使用C++。在我左側的項目中,我點擊了「新文件」,並選擇了空的C++文件。然後我點擊是,xcode生成Bridging-Header.h文件。在xcode 6中找不到'string'文件

在我的新的.cpp文件中,我有#include <string>。我試圖編譯該文件,並且一切正常編譯。後來我意識到我忘了將.cpp文件包含在bridging-header.h中,因爲我的swift文件無法訪問我的.cpp文件中的函數。當我將在橋接頭文件的#import "cplusplusfile.cpp",我得到這個錯誤在這條線:

#include <string>   (!)'String' file not found 

我的目標是讓用戶在的UITextField輸入一個字符串,並從我的雨燕文件發送字符串到函數在我的C++文件中,然後我可以使用C++將該字符串寫入文件(我不知道如何在swift中讀/寫文件,並且找不到太多內容)。

有人會知道可能的解決方案嗎?我在網上查找和其他問題。其中一個解決方案是將我的cplusplusfile.cpp更改爲cplusplusfile.mm。遺憾的是它並沒有幫助:(

回答

0

我會回答完全不同的東西,因爲我知道你會在錯誤的方向,用C++只是寫一個字符串文件手忙腳亂,要使用NSString並直接寫入該字符串到一個文件中,迅速可以使用的方法

func writeToFile(_ path: String, 
     atomically useAuxiliaryFile: Bool, 
     encoding enc: UInt, 
      error error: NSErrorPointer) -> Bool 

,並給它一個字符串,它是文件名,並寫出得到字符串通過直接從您的UITextField b中讀取它如果使用myTextField.text,它應該立即寫入文件。

祝你好運快速學習! :)

也是這裏的class reference for NSString

+0

這,+1。這個問題是令人難以置信的,如果你要問反正,這是非常好的,不要誤解我的意思,至少要問正確的問題解決問題! – JustSid 2014-12-04 21:31:40

+0

@MostafaTorbjørnBerg謝謝!我不知道有關於如何在swift中讀寫文件的文檔,這就是爲什麼我要用C++的原因,因爲我對它更熟悉。 – MR04 2014-12-04 21:40:50

+0

你是否有任何問題你知道如何獲得你的項目的目錄路徑嗎? – MR04 2014-12-04 22:57:39

-1

使用以下代替:

#import <string.h> 
+1

我只是去嘗試,當我鍵入:無效PRINTSTRING(字符串文本); 它說未知的typename'字符串':( – MR04 2014-12-04 21:26:52