問題タブ [objective-c++]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cocoa - Objective-C++ はどの程度サポートされていますか?
私はHillegass の本を読んで、Objective-C と Cocoa を学んできましたが、Objective-C++ を使用したほうがよいのではないかと思いました。Objective-C は UI の開発に適しているように思えますが、私は C++ のバックグラウンドが非常に強いので、C++ でアプリケーション バックエンドを開発し、Objective-C++ を使用して UI の統合を行いたいと思っています。しかし、Apple が Objective-C++ を開発し続けるのか、それとも行き止まりになるのかは疑問です。
Objective-C++ を使用している人はいますか?
c++ - Objective C++のようなものは本当にありますか?
iPhone プログラミングに関する投稿を読んでいて、Objective C++ に関する話に気付きました。投稿に示されているコードは主に Objective-C に似ていますが、C++ のスニペットもいくつかあります。C++ から Cocoa をプログラミングすることは本当に可能ですか?
iphone - Objective-C++ でサポートされている C++ の量
iPhoneアプリを作りたいのですが、フレームワークはC++で作ろうと思っています。Objective-C++ でテンプレートなどを使用することは可能ですか。本当に問題は、ブーストを使用できるかどうかです。
c++ - Objective-C クラスのインスタンス変数としての C++ クラス
Objective-C と C++ を混在させる必要があります。すべての C++ を 1 つのクラス内に隠し、他のすべてをプレーンな Objective-C のままにしたいと考えています。問題は、いくつかの C++ クラスをインスタンス変数として使用したいということです。これは、他のクラスによってインクルードされるヘッダー ファイルで言及する必要があることを意味し、C++ はアプリケーション全体に広がり始めます。これまでのところ、私ができる最善の解決策は次のようになります。
これは機能します。実装ファイルにはmm
拡張子があり、C++ と混合された Objective-C としてコンパイルされ、C++ の#ifdef
ロックが解除されます。他の純粋に Objective-C のクラスがヘッダーをインポートすると、C++ のものは隠され、クラスは特別なものを認識しません。これはハックのように見えますが、より良い解決策はありますか?
c++ - C++ クラス定義に目的の C++ 型を含める
主に C++ で作成されたプロジェクトがありますが、Objective-C++ ライブラリにリンクしようとしています。次のようなヘッダーがあります。
CPlus.h:
CPlus.mm:
Objective-C++ ヘッダーをコードにインポートすると、iPhone SDK 内から何千ものエラーが発生します。何かが、ある言語を別の言語であるかのように扱っているようです。この説明が不十分でしたら申し訳ありません。私はこれが初めてで、やや混乱しています。
Objective-C / Objective-C++ 型を C++ クラスに含めることはできますか? 他のタイプのヘッダーを含めるために何か特別なことをする必要がありますか?
python - Objective-Cの文字列操作
現在、私はiPhone 3.0 SDKを使用してObjective-Cで100%作成されているソフトウェアに取り組んでいます。
私はかなりの量または文字列の連結、より具体的にはNSStringの連結を行う必要がある交差点に到達しました。これまでのところ、次のようにしています。
Objective-Cの文字列連結:
ご想像のとおり、6つのNSStringを連結しようとすると、これを読むのが非常に難しくなります。
最初は、Objective-C ++クラスでミキシングして文字列の連結を行い、それをObjective-Cクラスに戻すことを検討しました。その後、次のようなC++の簡単な文字列連結を使用できます。
C ++文字列の連結:
Cのchar配列を使用することもできますが、それは少し読みにくいでしょう。
次に、CocoaでPythonまたはRubyブリッジを使用できることに気付きました(これにより、正規表現の追加ボーナスと、Cベースの言語よりも優れた文字列処理が提供されます)。
文字列操作言語として請求されるため、RubyとPythonを少量しかコーディングしていなくても、これは私には理にかなっています。Perl Xcodeで直接サポートされていないため、スキップすることにしました。
パフォーマンスにも興味があるので、文字列の連結を行うための最速の方法を探しています。
だから私は何をすべきですか?一度に多くの文字列(たとえば10文字列)を連結するためにObjective-Cに欠けている非常に簡単な方法はありますか?または、連結または正規表現で変更された文字列を返すPythonまたはRubyクラスのメソッドを使用するという私の考えは、思ったほど狂っていませんか?おそらく私はこれを行うための別の方法を逃したことさえありますか?
更新: はい。特に速度に関心があることに気付いたので、文字列操作を行うために別の言語のランタイムを取り込むことを考えるのはかなり頭がおかしいようです。ブリッジの追加は、単にNSString/NSMutableStringを使用するよりもおそらくはるかに遅くなります。
c++ - C++メソッドをObjective-Cメソッドに渡す
Expression
Objective-Cクラスで使用したいメソッドを持つC++クラス' 'があります' GraphVC
'。
そして私のObjective-Cクラス:
C ++オブジェクトとは対照的に、doubleを取り、doubleを返す関数ポインターを渡すのが最も簡単だと思いましたが、を使用してあまり成功していませんfunctional.h
。Objective-CのC++メソッドを使用する最良の方法は何ですか?
編集:あなたの迅速な応答をありがとう。少し詳しく説明させてください...C++で記述されたバックエンドがあり、Expression型のオブジェクトを操作します。有理数、多項式、単項式などのサブクラスがあります。私の最初のアイデアは、からmem_funを使用することでしたが、この方法でコードをコンパイルすることはできませんでした。また、bind1stを使用してthis
ポインターをバインドするのにも問題がありました。
- Objective-Cラッパーを作成することも可能ですが、既存の
evaluate()
関数を使用したいので、バックエンドとiPhoneGUIクラスの明確な分離を破りたくありません。 - グローバル式を使用したり、静的メソッドを使用したりすることはできません(任意の
Expression
インスタンスをプロットする必要があります)。
C ++メンバー関数(静的関数や既存のC関数ではない)をObjective-Cオブジェクトに渡す必要があることをより明確に述べる必要があります。誰かがC++を<functional>
使用して、メンバー関数をObjective-Cオブジェクトで使用できるポインターに変換することができましたか?それともObjective-Cラッパーを使用する必要がありますか?
objective-c++ - Apple の Objective-C++ 2.0 コンパイラは、他のプラットフォームで利用可能 (かつ使用可能) ですか?
gcc の一部であることは知っていますが、Windows でも使用できますか? ガベージ コレクターを備えた (コア) ランタイムは、移植がかなり複雑であるように思われるため、偶然にも移植できるとは思えません。純粋な金属の基本的なサポートだけで、Cocoa のものは必要ありません。
他の UNIX バージョン Solaris/FreeBSD/AIX/HP-UX はどうですか?