C++对象到Objective-C的参数传递

一般来讲将C++对象作为参数传递给Objective-C的方法中是比较方便的。
举例来讲,好比咱们有一个NSString的初始化方法,咱们但愿传递一个std::string作为参数传进去。
只要你传递了对象的指针,事情就完成了,不过你还能够在参数中使用“被指向”的形式,下面用例子来讲明。
好比这样一个方法:
  1. +  ( NSString * )stringWithCxxString : (std :: string const & )cxxString
  2. {
  3.     return  [[[ NSString  alloc ]  initWithBytes :cxxString. data ()
  4.                                      length :cxxString. size ()
  5.                                    encoding :NSUTF8StringEncoding ]  autorelease ];
  6. }
 咱们在使用的时候就能够这样用:
  1. std :: string dir   = get_some_dir ();
  2. std :: string  file  = get_some_file ();
  3.  
  4. NSString * str     =  [ NSString stringWithCxxString :dir  +  file ];
相关文章
相关标签/搜索