iOSとOS X SDKは、フリーダイヤルのブリッジという非常にクールな概念を持っています。私自身のコードをC言語で記述してObj-Cラッパーを記述してToll-Free-Bridgedとして使用したいのであれば、どうしたらよいですか?どのような例をお願いします。ObjectiveC/Cでフリーダイヤル・ブリッジを実装する方法は?
答えて
チュートリアルhttps://web.archive.org/web/20111013023821/http://cocoadev.com/index.pl?HowToCreateTollFreeBridgedClassを参照してください。基本的には、obj-cと同じサイズとレイアウトを持つC構造を作成する必要があります。また、retain/releaseを正しく実装するには、いくつかのすごいものが必要です。
これを行う最も簡単な方法は、Objective-Cでコードを書いてからCでラップすることです。フリーダイヤルの厄介な部分をすべて回避します(トリッキーな部分はARC __weakをサポートしたい場合は、-retain/-releaseがもっと複雑になります)。
しかし、それは目的を殺すだろうか?私はCでコアを実装して、ObjC環境から再利用できるようにしたいと思います。 – zakishaheen
これは「できるなら」です。本当にCをラップする必要がある場合は、難しい方法で実行する必要があります。 –
- 1. リモートゲットにブリッジする方法
- 2. フリーダイヤル
- 3. デスクトップティッカーを実装する方法は?
- 4. イメージマスクを実装する方法は?
- 5. JavaScriptを実装する方法は?
- 6. ByteBuddy:フィールドアクセスインターセプタを実装する方法は?
- 7. ウィジェットを実装する方法は?
- 8. mockitoを実装する方法は?
- 9. schema.org containingInを実装する方法は?
- 10. 検索を実装する方法は?
- 11. ハッシュキーナビゲーションを実装する方法は?
- 12. lazy setdefaultを実装する方法は?
- 13. カスタムスプリングセキュリティaclを実装する方法は?
- 14. ASP.NETショッピングカートを実装する方法は?
- 15. カスタムFilterReaderを実装する方法は?
- 16. Javaメソッドを実装する方法は?
- 17. Androidでカスタムシェイダーを実装する方法
- 18. codeigniterでアップロードスクリプトを実装する方法
- 19. AndroidでC2DMを実装する方法
- 20. Luaでstring.rfindを実装する方法
- 21. DjangoでEAVを実装する方法
- 22. TFSでビルドパイプラインを実装する方法
- 23. MemcachedをPDOで実装する方法
- 24. C#でグラファーを実装する方法
- 25. angularjsでナビゲーションバーを実装する方法
- 26. DjangoでNorthwindを実装する方法
- 27. javaBeansでキューを実装する方法
- 28. jetspeedでjmsを実装する方法
- 29. SDLでエスケープシーケンスを実装する方法
- 30. QTPでクルーズコントロールを実装する方法
cocoadev.comはもはやなくなり、更新されたリンクがありますか? –
ウェブアーカイブのバージョン:https://web.archive.org/web/20111013023821/http://cocoadev.com/index.pl?HowToCreateTollFreeBridgedClass – kuba
解決するために必要な詳細が含まれていないため、このメッセージにはフラグが立てられていますその答え自体の問題。問題を解決する方法を理解するために、リンク(またはリンクのウェブアーカイブ版)に従う必要がないように、この回答を編集してください。 – josliber