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 ];
相關文章
相關標籤/搜索