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];
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章