*

iOSプログラミングのキモ(デバッグをやりやすくするための工夫:Debug.hのインクルード )

公開日: : Apple, iOS, iPad, iPhone, XCode

前回 紹介した Debug.h は、使う際 以下のようにソースファイル(ここでは拡張子が m のもの)の中で宣言することで使えるようになります。

#include "Debug.h"

しかし AppDelegate.m の中では Debug.h がインクルード宣言されていません、なのに使えています。

種明かしをするとXCodeではプロジェクト作成時 <アプリ名>-Prefix.pch というファイルが作られ、このファイルは全てのソースコード・コンパイル時に自動で読み込まれるようになっています、中を覗いてみましょう。

QTube-Prefix.pch

#import

#ifndef __IPHONE_5_0
#warning "This project uses features only available in iOS SDK 5.0 and later."
#endif

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>

    #import <CoreData/CoreData.h>
    #import "CoreData+MagicalRecord.h"
    #define MR_SHORTHAND 1

    #import "ASIHTTPRequest.h"
    #import "PKRevealController.h"
    #import "UIViewController+PKRevealController.h"
    #import "SDSegmentedControl.h"
    #import "iRate.h"
    #import "NSString+HTML.h"
    #import "AppDelegate.h"
#endif

#import "Debug.h"
#import "Defines.h"

最後の方に Debug.h がインクルードされているのがわかります。これにより 書くソースファイルに イチイチ インクルード宣言をしなくても自動的にDebug.hがインクルードされて、利用できるようになるのです。この特性を活かして 全てのソースコードに共通する設定などを指定する時に よく使われます。

関連記事

iOSプログラミングのキモ(MainViewController説明 : dispatch_asyncとブロック構文を使った 今どきのお手軽マルチスレッドプログラミング)

TwitterやYouTubeといったサービスでは、コンテンツの見出しにサムネイルが付加されることが

記事を読む

iOSプログラミングのキモ(iOS7から使えるようになったマルチタスク機能、NSURLSessionUploadTask の困った現象)

このブログでも度々書いてきたFileQ iOS版ですが、今月末に Appleに申請できそうな

記事を読む

iOSプログラミングのキモ(AppDelegate説明 デバッグをやりやすくするための工夫:NSSetUncaughtExceptionHandler )

デバッグはプログラミングを進めていく上で避ける事が出来ません。どうしてもバグは入ってきます。重要なの

記事を読む

iOSプログラミングのキモ(行き当たりばったりなプログラミングでも、何とか形にするために守っていること その1)

FileQ iOS版がリリースされて、のんびりしたい気持ちもありますが、FileQ Android版

記事を読む

iOSプログラミングのキモ(MainViewController説明)

個別の画面のコードについて解説を進めていきます。最初は起動直後の画面であるMainViewContr

記事を読む

iOSプログラミングのキモ(MainViewController説明 NSNotification/NSNotificationCenter これ大事)

前回のエントリの続きで 今回はNSNotification/NSNotificationCenter

記事を読む

iOSプログラミングのキモ(サードパーティ製ライブラリをサクッと入れるcocoapods)

iOSプログラミングでは 便利なライブラリがたくさんあります。特にUI系のライブラリは豊富で自分で作

記事を読む

iOSプログラミングのキモ(行き当たりばったりなプログラミングでも、何とか形にするために守っていること その2)

先週に引き続き、今週も文字中心のエントリーです、今回は 下記3つのことを書いていきます。 M

記事を読む

iPhoneが7GBの転送制限に引っかかりそうになって Nexus7(2013)LTE版のテザリング機能が大活躍

皆さんは スマホを使ってて、転送制限に引っかかったことはありますか?私はあります(笑) 最

記事を読む

iOSプログラミングのキモ

このブログでは、実際に弊社が公開しているアプリのソースコードを使って、iOSプログラミングのキモを解

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

FileQ Hosting 月額99円 容量1GB


サイト管理 Mezzanine
Django上で動くCMS Mezzanine 用のモジュールを作ってみる その1

Django上で動くCMS Mezzanine上で動く、モジュールを作

ホーム Mezzanine
Django上で動くCMS Mezzanine を インストールする MacOSX Yesemite 編

Mezzanineは Django WEBフレームワーク上で動くCMS

EclipseにGWT(Google Web Toolkit) Plugin for Eclipseを入れようとしてハマった

最近PHPでちょっとした業務システムを作りました。業務システムの特徴と

ブログを半年やった成果を Google Analytics から眺める

今年の1月からブログを書き始め、そろそろ半年が経とうとしています。

母校で特別 講義をやってきました。

少し 間が空いてしまいました(^_^;) ちょっと前になりますが

→もっと見る

mautic is open source marketing automation
PAGE TOP ↑