タグ

プログラミングとObjective-Cに関するdecoy2004のブックマーク (2)

  • Swift を使ってみてがっかりした点まとめ

    数日間iOS8/Xcode6/Swiftな環境で色々試してみて、Swiftを使っていて思ったよりがっかりした点が多かったのでちょっとまとめてみようと思います。 動的な処理がSwiftだけでは一切できない [NSObject performSelector:]の類と、NSInvocationがSwiftからは一切呼び出せません。使おうとすると怒られます。objc/runtime.hは試していませんが、同様に直接Swift経由では呼び出せず間にObjective-Cをかます必要があるのではないかと思われます。 @optionalなprotocolが限定的にしか使用できない 具体的には@objc属性を付けないと使えません。しかしながらこのような後方互換性のためだけに存在する属性をいつまでもAppleがサポートするかは疑問が残るというのと、もう一つ以下の様な問題があります。 @objc属性のついた

    decoy2004
    decoy2004 2014/06/06
    『ARC 。Swiftでも循環参照が発生しないようにプログラマが明示的に参照の種類を指定しなければなりません。』
  • 今さら聞けないObjective-Cのメモリ管理 弱い参照と強い参照って何? | DevelopersIO

    iOS5からサポートされているARC(Automatic Reference Counting)は今まで使う機会がなかったので名前だけ知ってるみたいな状態でした。 今さらですがいろいろ調べたので調査結果をまとめたいと思います。調査した環境は以下になります。 Mac OS X 10.8 Mountain lion Xcode 4.6.3 まずは参照カウンタ方式の復習 ARCは基的には以前と同じ参照カウンタ方式を自動化したものなので、ARCをやる前にまずは手動でのメモリ管理を復習します。 まずは新しいプロジェクトを作成します。テンプレートはCommand Line Toolを使います。 今回は手動でメモリ管理するのでARCはチェックを外しておいて下さい。 プロジェクトが作成できたらCarクラスとEngineクラスを作成して下さい。テンプレートはObjective-C classです。 サンプ

    今さら聞けないObjective-Cのメモリ管理 弱い参照と強い参照って何? | DevelopersIO
  • 1