2016-08-03 32 views
0

Ich versuche Boost-Bibliothek-Klasse zu verwenden, um einige Socket-Kommunikation zu tun. Ich muss tun, um diese Variablen als Klasseninstanz erklären, so habe ich, wie unten erklärt,IOS deklarieren Boost-Klasse als Klassenvariable

@interface Custom_View : UIView{ 
    boost::asio::io_service io_service_2; 
    tcp::resolver r_2(io_service_2); 
    client c_2(io_service_2); 
    boost::thread* dvr_thread_2; 
} 

Erste erro wie

Custom_View.h:46:23: Unknown type name 'io_service_2'; did you mean 'boost::asio::io_service'? 
Custom_View.h:47:16: Unknown type name 'io_service_2'; did you mean 'boost::asio::io_service'? 
Custom_View.h:46:19: Field 'r_2' declared as a function 
Custom_View.h:47:12: Field 'c_2' declared as a function 

Wie kann ich diesen Fehler beheben.

Antwort

1

Wenn Sie versuchen, eine Objective-C-Klasse oder statische Variable zu deklarieren, müssen Sie dies außerhalb der geschweiften Klammern in der @ interface-Deklaration tun. Zum Beispiel (es ist in Ordnung, die {} ommit wenn Sie keine Instanzvariablen erklärt):

@interface SubclassName : SuperclassName 

Type variableName; 

aber sagen, dass ich bin mit der Boost-Bibliothek nicht vertraut, und die deklarierten Variablen in Ihrem Code scheint nicht gültig zu sein. Objective-C. Eine schnelle Google-Suche führte zu diesem GitHub-Projekt, das Sie in die richtige Richtung führen könnte: https://github.com/mz2/boostoniphone

+0

Ich muss es als Klasseninstanzvariable verwenden, da ich diese Klasse als andere Instanz in meinem Code verwenden werde. – CodeDezk