Objective-C

Lecture

Objective-CとSwiftを使ってみよう – Xcodeをインストールする

Objective-CとSwiftを使ってみよう – 必要な環境ではObjectve-CとSwiftに必要な環境を説明した。今回は環境構築に入りたい。といっても、Macでは通常の場合、Xcodeを使うことになるのだが、そのインストールはかな...
Objective-C

Objective-CとSwiftのアクセス修飾子

現在、iOSおよびmacOS向けネイティブアプリの開発ではObjective-CとSwiftがよく使われている。双方ともAPIレベルでの相互運用性が確保されており、コードを混在させることができるのは言うまでもない。一方で、細部レベルでは差異...
IT/Computer

Objective-CとSwiftを使ってみよう – 必要な環境

Objective-CとSwiftを使ってみよう – はじめにでは、Objective-CとSwiftについて、それぞれの言語についてと、最初の簡単なコードについて説明した。ここでは。実際にObjective-CとSwiftを学習するにあた...
iOS

Carthageのビルド時間のトータルは使い方次第

Carthageを使っていると、ビルド時間のトータルが節約されると言われているが、その効果は使い方によって変わってくる。パッケージの更新頻度が低ければ効果が大きいが、更新頻度が高いと効果が薄いどころか、逆効果の場合もある。
iOS

Carthageで必ずソースコードからインストールする場合

Carthageでは、簡単にパッケージをインストールすることができる。多くの場合はソースコードを取得、それをビルドして準備するが、一部のバイナリーが提供されているものについては、それを優先的に使う。この場合、問題を起こすことがあるため、その...
IT/Computer

Objective-CとSwiftを使ってみよう – はじめに

近年、iOSのアプリ開発での主流はこれまでのObjective-CからSwiftに変わりつつある。しかしながら、ライブラリーの開発を中心にコンパイラーの問題、およびC++との連携などでSwiftではなかなか解決できない問題も残っており、その...
IT/Computer

Xcode 8.1へ移行する際の注意点

iOS 10およびmacOS Sierraの登場に伴って提供されたXcode 8.0から、早くもiOS 10.1及びmacOS Sierra 10.12.1向けの環境が整ったXcode 8.1がリリースされたが、Xcode 8.0から8.1...
IT/Computer

Objective-CでSwift用のStatic Propertyを定義するには?

SwiftではSingletonインスタンスをstaticプロパティーとして定義することができるが、Objective-Cではそれを行うことはできない。しかしながら、Swift、特にSwift 3との整合性を図るために、Swiftから呼び出...
IT/Computer

SwiftとObjective-Cは両方覚えておくべき

もしiOS/macOSのアプリ開発でどの言語を使えばいいのか悩んでいるのであれば、SwiftもObjective-Cも両方とも覚えておいたほうが良いだろう。というのも、現時点ではSwiftもObjective-Cもどちらも万能と言えるもので...
iOS

PFImageStoreの開発状況

現在、GitHubでPFImageStoreの開発を行っており、一応、Carthageで使えるようにはなっている。最低限テスト目的で使えるようにはなっているが、現時点ではまだ、使い方については説明していなかったので、ここで一旦説明を行なって...
IT/Computer

アプリはSwift、ライブラリーとフレームワークはObjective-C

今回のXcode 8.0移行時のSwiftマイグレーション問題から、他のライブラリーやフレームワークなどから使われることが前提となるライブラリー/フレームワークはObjective-Cで書いた方が良いという考えに至った。
iOS

簡単な画像ダウンロードライブラリーを作ってみた

独自にライブラリーの開発を行っており、まだ試験的ではあるものの、画像の取得・管理を行うためのライブラリー「PFImageStore」を開発し、GitHubに上げている。現在は試験的に動くようになったという状況のみで、まだ実用レベルには達して...
IT/Computer

Swiftを意識したObjective-Cのヘッダーファイルの作り方

Swiftが登場してから2年以上経過しており、Swiftが使われるパターンもかなり増えている。一方で、プログラミングの仕方によっては、依然としてSwiftが合わないような場合、例えば、ライブラリー開発や、C++を混在させたコードなどがあるが...
IT/Computer

Objective-CとSwiftのクラス定義の落とし穴

SwiftがObjective-Cの後継という位置付けという関係からか、Objective-CとSwiftは1対1で対応していると思われがちだが、実際にはそういうわけではなく、落とし穴となるようなところはたくさんある。ここで説明するクラス定...
IT/Computer

NSIntegerとCGFloatの実体は・・・

これはどちらかというと、Objective-Cで気をつけなければならないことであるが、NSIntegerとCGFloatの実体はmacOSやiOS端末によって違いがある。正確には、32bit版のOSが動いているか、64bit版のOSが動いて...
IT/Computer

Objective-CとSwiftは結構違う

Objective-CとSwiftは、どちらもApple製品向けアプリを開発するのに主要な位置を占めている言語で、どちらもCocoa Frameworkを使っているが、それぞれ意外と違いがあるようだ。わたしが両方使ってみて気になったところな...
IT/Computer

Xcode 7.3でweakポインターの扱いが変わった模様

これはSBJson 3.0.4 ((SBJsonとしては非ARCの最終バージョン、それ以降はARC対応)) を組み込んだプロジェクトをXcode 7.3でビルドしようとして組み込んだSBJsonのビルドが通らないという問題に直面したことで気...
iOS

WinObjCの開発は進んでいるのか?

マイクロソフトはiOSやAndroid、ウェブアプリケーションなどをUniversal Windows Platformネイティブで動かせるようにする「Universal Windows Platform Bridge」を開発しているとのこ...
IT/Computer

ARC有効時はC言語の構造体にObjective-Cオブジェクトは使えない

もう、新しいプロジェクトではAuto Reference Counting(ARC)を当たり前のように使っているようになりつつあるが、必ずしもそうとは言えない場合もある。まだARCに有効にしていない段階で、ARCを有効にする際に気をつけなけ...
iOS

iOS9 SDKではUIGestureRecognizerのターゲットに弱い参照を使っている?

どうやらiOS9 SDKではUIGestureRecognizerのtargetを内部的には弱い参照に切り替えているようだ。そのため、何らかの形でtargetに弱い参照を禁止したクラスをセットするとクラッシュが発生する模様である。