You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
前置き こんにちは!こんにちは! みなさんには関係無いかもしれないですが、一度書いていたものが吹っ飛んだのでかなり雑に書きます! 折れない心を褒めて下さいね! iPhoneAppって 最近iPhoneでゲーム作ってます。まだテクスチャも満足に整っておらず、ただただゲームの中身を作っているだけですが面白いです。早く絵とか書いてそれに命を乗せたいですね! iPhoneでゲームを作ると言っても、様々な方法があるとは思うのですが、やはりOpenGLESを使うのが一番主流なのかなということで僕もそれで開発しています。 初めてのゲーム制作ということで前途多難でしたが、少し慣れてきた && アウトプット皆無な状態なのでブログに起こそうと思いました。今回もそうなのですが、iPhoneAppはプロジェクト毎にソースコードがかなり分かれていて全て載せてしまうと、全体像を把握するのにとても労力を要してしまうので
Copyright (C) Mainichi Communications Inc. All rights reserved. 掲載記事の無断転載を禁じます
前回の予告通り、今回からデザインパターンをObjective-Cで実装してみる。 取り上げるパターンの順番だが、テキストとして使用する「オブジェクト指向における再利用のためのデザインパターン」(以下GoF本)とは少し変更する。まず生成に関するパターンから始めるのは同じだが、その中のSingletonを最初に取り上げよう。 Singletonとは Singletonは、インスタンスを1つしか生成しないクラスのためのデザインパターンだ。主な用途としては、ファイルマネージャや、ウィンドウマネージャなど、対象がただ1つしかないものが挙げられる。 Singletonクラスのインスタンスを取得する場合、通常のalloc、initといったメソッド(C++でのnewに相当)は、使わない。その代わりに、インスタンス取得のためのメソッドを提供することになる。作成された、ただ一つのインスタンスは、Singlet
この項目では、プログラミング言語の言語機能について説明しています。デリゲーションについては「委譲」をご覧ください。 この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "デリゲート" プログラミング – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2015年9月) デリゲートは、オブジェクトインスタンスへの参照とメソッドへの参照をペアにしてカプセル化するものである。概念としてはC言語やC++の関数ポインタに近いが、デリゲートは完全なオブジェクト指向である[1]。型安全であるという特徴がある[2]。2002年にリリースされた.NET FrameworkではSystem.Delegateクラス
NSStringを指定した文字コードでURLエンコードします。 一瞬 stringByAddingPercentEscapesUsingEncoding: のみで事足りそうに思うのですが、それだけだと下記コード中の escapeChars にある文字達が残ってしまいます。 @implementation NSString (URLEncoding) -(NSString *)stringByURLEncoding:(NSStringEncoding)encoding { NSArray *escapeChars = [NSArray arrayWithObjects: @";" ,@"/" ,@"?" ,@":" ,@"@" ,@"&" ,@"=" ,@"+" ,@"$" ,@"," ,@"[" ,@"]" ,@"#" ,@"!" ,@"'" ,@"(" ,@")" ,@"*" ,nil]
iPhone/iPod touch iPhone/iPod touchはAppleから発売されているスマートフォンおよびミュージックプレイヤー。どちらも世界的に普及しており、Apple Storeからデジタルコンテンツを購入して利用できる。 当初は一般ユーザーはAjaxアプリケーションしか開発できなかったが、2008年2月に「iPhone 2.0」が公開され、ソフトウェア開発キット「iPhoneSDK」も公開となり、ネイティブアプリケーションも開発可能となった。 開発したソフトウェアが有償の場合は30%をAppleに支払い、残りの70%を開発側で手にすることができる。無償の場合はAppleへの支払は不要となる。 ネイティブアプリケーション 統合開発環境として「Xcode」、プログラミング言語として「Objective-C」、アプリケーションフレームワークとして「Cocoa
09:48独自クラスをNSCodingプロトコルを使えば簡単に保存できる。配列オブジェクトも保存できる。両方を組み合わせるところでつまずいた。独自クラス #import @interface MyObj : NSObject { NSString *title ; NSInteger number ; } @property(nonatomic,retain) NSString* title ; @property NSInteger number ; @end #import "MyObj.h" @implementation MyObj @synthesize title ; @synthesize number ; - (id)init { if (self=[super init]) { title = @""; } return self; } - (void)dealloc
(2009.1.28 新規作成) Objective-C は、ガベージコレクションがない時代のプログラミング言語です。プログラマがきちんとオブジェクトを解放するように書かなければなりません。 実装として、id 型は objc_objectへのポインタ型です。すべてのオブジェクトはmallocで確保されるイメージで、これはブロック内のローカル変数(のオブジェクト)を自動的に解放してくれるCより悪い状況です。 Objective-Cでは、自動解放プールと、ルールによるオブジェクトの解放で対処します。 gccにはライブラリが何も付いていないので、以降はGNUstepを前提とします。Fedora 10 Linux + gcc 4.3 で確認しました。 NSAutoreleasePool オブジェクトを生成したら自動解放プールに登録するようにします。自動解放プールが解放されるときに登録されたオブジェ
オブジェクト † 他のオブジェクト指向のプログラミング言語同様、クラスを変数の型として扱える。 Hoge *aHoge; インスタンスは常に動的に生成されるため、ポインタとなる。以下の記述はコンパイルエラーとなる。 Hoge aHoge; // コンパイルエラー... ↑ id型 † クラスの階層構造でもっとも上位のクラスへのポインタを「id」という型で表現できる。Javaで言う基底クラスの「Object」みたいなやつ。 id target; id型は普通のCの型と同じように扱えるため、配列を作ったり、 Hoge *aHoge[100]; id target[100]; 構造体のメンバとすることが可能。 struct aStruct { Hoge *aHoge; id target; }; ↑ メッセージ式 † オブジェクトの機能を呼び出す。Javaで言うメソッド呼び出しに当たり、これによ
iPhone開発のメモです。#import <QuartzCore/CALayer.h> /** * UIViewをわたして */ - (UIImage *)screenImage:(UIView *)view { UIImage *screenImage; UIGraphicsBeginImageContext(view.frame.size); [view.layer renderInContext:UIGraphicsGetCurrentContext()]; screenImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return screenImage; } /** * 範囲指定 */ - (UIImage *)screenImage:(UIView *)view
How to Mask an Image [iOS developer:tips]; 白黒の画像をマスクとして、画像を任意の形に切り抜くことが出来ます。 上記の例はとても単純ですが、マスク画像を工夫すれば、複雑な形の画像もプログラムから簡単に作成できます。 //元画像 UIImage *iconImage = [UIImage imageNamed:@"apple-touch-icon.png"]; //マスク画像 UIImage *maskImage = [UIImage imageNamed:@"mask.png"]; //マスク画像をCGImageに変換する CGImageRef maskRef = maskImage.CGImage; //マスクを作成する CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef), C
OS3.2からUIMenuControllerの項目をカスタマイズできるようになったのをご存知でしょうか。 UIMenuControllerとは、こんな吹き出しのことです。 3.2以前でこれをカスタマイズしようと思うと、Responderチェインに割り込んでcutを捕まえて、入れ替えて、などとなかなか手の込んだことをしなければならなかったのですが、ついに3.2でこの問題から解放されます。 使い方を紹介します。 UIMenuItem 表示項目をカスタマイズするにはUIMenuItemクラスを使います。UIMenuItemのインスタンスを作って、そのNSArrayをUIMenuControllerのmenuItemsにセットするだけです。 UIMenuItemで表示するタイトルと実行するactionを指定します。 サンプル ビューをタップするとメニューが表示されるようにしたいと思います。 そ
Apple Intelligence Apple Intelligence is the personal intelligence system that puts powerful generative models right at the core of your iPhone, iPad, and Mac. It powers incredible new features to help people communicate, work, and express themselves. Writing Tools are available system-wide, and help users rewrite, proofread, and summarize text. The Image Playground API delivers an easy-to-use exp
alloc Foundation, NSObject, 10.0 メモリを確保してインスタンスを作ります 解説 メモリを確保してインスタンスを作ります。 サブクラスはオーバーライドしてはいけません。代わりにそのクラス専用の初期化メソッドとしてinit...メソッドを使用します。 不要になれば、releaseかautoreleaseでメソッドを解放する必要があります。 新たに作成されたインスタンスのisaインスタンス変数は初期化されます。 他の全てのインスタンス変数のためのメモリは、0までセットされます。 新しいインスタンスは、デフォルトのゾーンからアロケートされます。 特定のゾーンを使用する場合はallocWithZone:を使用してください。 初期化プロセスを完了させるためには以下のような形式でinit...メソッドを使用します。 TheClass *newObject = [[TheC
iOS 18に向けた準備 コントロール、ウィジェット、ライブアクティビティを使用して、iOS上で快適に動作しシステム全体においてより多くの箇所に表示される、高度にカスタマイズされたアプリを作成できます。Apple Intelligenceの導入により、優れたパフォーマンスとプライバシー機能を兼ね備えたパーソナルインテリジェンスをアプリに取り入れ、新しい機能を提供することができます。 Apple Intelligence Apple Intelligenceは、iPhone、iPad、Macの中核にパワフルな生成モデルをもたらすパーソナルインテリジェンスシステムです。ユーザーのコミュニケーションや仕事、自己表現に役立つ、驚くような新機能を備えています。 Writing Tools(作文ツール)はシステム全体に組み込まれており、文章の書き直し、校正、要約に利用することができます。Image P
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く