我有一个xcode 6 swift项目,我正在尝试使用C ++。在我左边的项目中,我点击了新文件'我选择了空的C ++文件。然后我单击是,xcode生成Bridging-Header.h文件。
在我的新.cpp文件中,我有#include <string>
。我试图编译文件,一切编译得很好。后来我意识到我忘了将.cpp文件包含在bridging-header.h中,因为我的swift文件无法访问我的.cpp文件中的函数。当我在桥接头文件中添加#import "cplusplusfile.cpp"
时,我在此行中收到此错误:
#include <string> (!)'String' file not found
我的目标是获取用户在UITextField中输入的字符串,并将我的Swift文件中的字符串发送到我的C ++文件中的函数,这样我就可以使用C ++将该字符串写入文件(我不知道&#39;我知道如何在swift中读/写文件并且找不到它。)。
有人知道可能的解决方案吗?我看了网上和其他问题。其中一个解决方案是将我的cplusplusfile.cpp更改为cplusplusfile.mm。不幸的是,它没有帮助:(
答案 0 :(得分:0)
我会回答一些完全不同的原因,因为我知道你走的方向错误,使用C ++只是为了写一个字符串到文件在圈中运行,你想使用NSString并写出该字符串直接到文件,在swift中你可以使用方法
func writeToFile(_ path: String,
atomically useAuxiliaryFile: Bool,
encoding enc: UInt,
error error: NSErrorPointer) -> Bool
并给它一个字符串,即文件名和要写的字符串,通过使用UITextField
直接从myTextField.text
读取它,它应该立即写入文件。
祝你好运快速学习! :)
答案 1 :(得分:-1)
请改用以下代码:
#import <string.h>