Cocoa Touch/Objective-C中的载体

Dav*_*mes 0 cocoa cocoa-touch vector objective-c

可以在Coca Touch中使用矢量吗?如果是这样,必须包含哪些库?

我正在关注他们的一般C教程,唯一需要的是 #include <vector>

但XCode声明没有这样的文件或目录.

任何指向提供此类功能的库的指针都是值得赞赏的.

问候~dhp

zne*_*eak 9

Objective-C是C的超集,因此任何C都可以使用它们.但是,它std::vector是一个C++类,这意味着编译器必须意识到您将在程序中使用C,Objective-C C++代码.您可以通过将源文件的扩展名更改为.m来执行此操作.mm.

但是,如果您仍处于学习Objective-C或C++的阶段,请尽量不要将太多的C++与它混合使用.C++使用"非POD类型"(POD是"普通旧数据"),它本质上与采用可变参数的函数不兼容; 在引擎盖下,所有 Objective-C调用都以这种方式工作,因此如果您不太确定它是如何工作的,那么通过Objective-C调用就可以使C++类型变得复杂.你也可以使用Cocoa的NSMutableArray类.


小智 6

我想通了......按照以下3个步骤:

  1. 使用扩展文件名 .mm
  2. #include "vector"
  3. 使用此代码:

std::vector <<int>int> myVector(20);
instead of just using vector <<int>int> myVector(20);
Run Code Online (Sandbox Code Playgroud)

现在你有一个全新的C++向量在Objective-C中工作.