Copyright (C) iPhoneアプリ開発備忘録 All rights reserved. ブログ内で記したコード、内容の正確性は保証いたしません。 記載内容を実装したことにより発生した不具合・損害等の責任は一切負いません。 iPhone OS3.0より、データベースの取り扱いをCore Dataで実装することにより簡素にコーディングできるようになった。 Core Dataによるデータの取り扱いTips。 ■Appleのサンプルソース「CoreDataBooks」 登録、削除、変更を実装しているプロジェクト。 ■Xcodeの新規プロジェクト作成において、Navigation-based Applicationを選択し、オプション「Use Core Data for storege」にチェックして、テンプレートから生成すると、Core Dataを使用して登録、削除ができるコードがあら
Objective-C のメモリ管理やオブジェクトのオーナーシップは、Objective-Cを始めるプログラマにとって、少なからず理解に苦しむこともあるようですが、今回はある程度理解したプログラマ向けの、 retain と copy の使い分け方を書こうと思います。 実は、この retain と copy の使い分け方は、Cocoa基礎ガイドにも載っています。 copyとretainの使用面における違いは、前者の場合、新しい所有者による単独使用のためにオブジェクトが要求されることです。新しい所有者は、コピー元に関係なく、コピーしたオブジェクトを変異させることができます。通常、オブジェクトを保持するのではなくコピーするのは、オブジェクトが値オブジェクトの場合、つまり何らかのプリミティブな値をカプセル化している場合です。このことは、オブジェクトがNSMutableStringなどのように可変(
iphone - How to scale a UIImageView proportionally? - Stack Overflow @interface UIImage (Extras) - (UIImage *)imageByScalingProportionallyToSize:(CGSize)targetSize; @end; @implementation UIImage (Extras) - (UIImage *)imageByScalingProportionallyToSize:(CGSize)targetSize { UIImage *sourceImage = self; UIImage *newImage = nil; CGSize imageSize = sourceImage.size; CGFloat width = imageSize.width; CGF
2009-09-14 Foundation%20Functions 2009-08-31 NSString 2009-08-30 FrontPage 2009-08-29 NSTask Objective-C RecentDeleted NSInputStream NSStream NSArray 2009-08-18 CFSocket C MenuBar 2009-08-11 NSURLConnection 2009-08-08 C標準ライブラリ NSUserDefaults NSBundle NSDictionary NSFileHandle 2009-08-05 NSProcessInfo NSData シンプルなサンプルコード作成を目的とした、Cocoa学習のためのリファレンスを目指しています。 Xcodeのデベロッパドキュメントをベースにしています。 開発環境 †
CocoaのURL Loading Systemは通常、HTTP Cookieを自動的に管理してくれる。CookieはNSHTTPCookieというクラスにラップされ、NSHTTPCookieStorageというクラスがそれを溜め込んで自動的にどうこうしてくれる。しかし困るのは、CocoaのCookieはNSHTTPCookieStorageを使う限り全アプリで共通だということだ。URL Loading Systemを直接叩くアプリでなくても、ちょっとWebKitを使ってWebページを表示するだけのアプリでも同様である。Safariで何かのログイン状態をCookieが保持していたら、Thousandでもそのままログインしていたりする、つまりはそういうことで困るのだ*1。 では独自にCookieを管理したいときはどうすればいいのか。NSURLRequest に次のようなメソッドがある。 -(
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Twitterのアカウントはもともと「Follower100人ルール」で運用してきたんだけど,だんだんFollowしてくれる人が増えてきてめんどくさくなって来た。せっかくFollowしてくれるのにFollowしかえさないのも失礼だし。Follow数が10人くらいと少なくて,つまりTwitter始めたばかりで,他の著名エンジニアさんに混じって僕をFollowしてくれる人を見かけるとどうもね。今非Follow数が888,Followingが230くらい。 ただ,このまま行くと,時間と共にタイムラインがとんでもないことになっていくのは目に見えている。特に見知った方々とのTwitter上でのコ
ここは管理人pigeon6と同じようなコンピュータとプログラムとアレゲが好きなおさるさんのためのサイトです。たぶん。 Guard Mallocはmalloc, callocなどで確保したメモリに対して不正な操作を行ってしまう類のバグの検出を助けるデバッグ用のライブラリです。Guard Mallocを使ってアプリケーションを実行すると、そうしたメモリに対してのバグがある場合、アプリケーションがバグの位置でハングアップします。 - Manual page for libgmalloc Xcode上でのGuard Mallocの使い方 メニューから「実行>Guard Mallocを有効にする」を選択して、チェックをつけるとGuard Mallocを有効に出来ます。Guard Mallocには各種オプションがありますが、これは実行時の環境変数をセットすることで設定します。 Guard Malloc
MapKitフレームワーク単体では、標準のマップアプリのようなナビは作れないのですが、Google Maps APIと組み合わせることで、似たような機能を実現してみました。 GitHubのリポジトリで公開しています。 kishikawakatsumi/MapKit-Route-Directions · GitHub 仕組みは、裏でJavascriptを実行して、Google Maps APIを叩いています。 結果としてルートの座標が緯度経度として返ってくるので、その値を使用して、MapViewの上にルートのラインを描画します。 Javascriptの実行エンジンにUIWebViewを使用します。 Google Maps APIのラッパーと、ラインをマップビューの上に描画する拡張から構成されています。 ラインの描画は下記の記事を参考にしました。 The Reluctant Blogger :
[追記]大事な手順を書き忘れていました。セルの再利用のための手順を最後に追記しています。 間違ってるかもしれないけど、たぶんこう。 View Templateを選択して、新しいXIBファイルを作成します。 もともとのViewを削除します。 代わりにUITableViewCellを配置します。 適当にセルをデザインします。 名前を付けて保存します。ここではFeedListCell.xibとします。 Xcodeで対応するUITableViewCellを継承したクラスと、View Controller (FeedListCellController) を作ります。 View ControllerはUIViewControllerを継承します(UITableViewControllerではない)。 また、セルをインスタンス変数として保持します。ここではFeedListCellのインスタンスです。
日本語環境では、NSDateFormatterでフォーマットした日付がおかしい - 24/7 twenty-four seven 前に日本語環境ではフォーマットした時刻の表記に「午前・午後」が含まれてしまって使いにくいと書いたのですが、コメントにて、フォーマットする前にロケール(NSLocale)を設定すると良いと教えていただいたので、試してみました。 日本語だとおかしい、というより、locale を設定していないとだめみたいです。ja_JP を setLocale で設定すればちゃんと値が返ってきます。 日本語環境では、NSDateFormatterでフォーマットした日付がおかしい - 24/7 twenty-four seven] 前回と同じコードにロケールを設定するコードを追加して、実験してみました。 NSDate *now = [[NSDate date] retain]; NSD
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
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く