今回は Table View の最終回です。 前回は、ローカルに置いた画像ファイルを Table View のセルに表示させてみました。 次に、インターネットのサーバにあるデータを同様に表示させてみたいと思います。 前回の最後に使った imageWithContentsOfFile: では、ローカルのファイルパスしか指定できません。そこで、画像データを NSData 形式で取得して、imageWithData: で UIImage を生成することになります。 問題は、この NSData をどうやって取得するか。 まず考えられるのは、dataWithContentsOfURL: というメソッドで、URL を指定してデータを取得する方法。 NSURL *url = [NSURL URLWithString: urlString]; NSData *data = [NSData dat
Code Archive Skip to content Google About Google Privacy Terms
iPhone デバッグ用のマクロ - Windchase #ifdef DEBUG # define LOG(...) NSLog(__VA_ARGS__) # define LOG_CURRENT_METHOD NSLog(NSStringFromSelector(_cmd)) #else # define LOG(...) ; # define LOG_CURRENT_METHOD ; #endif iPhone デバッグ用のマクロ - Windchase このマクロをちょっと変えて、クラス名を自動的に出力するようにしました。 #ifdef DEBUG # define LOG(...) NSLog(__VA_ARGS__) # define LOG_CURRENT_METHOD NSLog(@"%@/%@", NSStringFromClass([self class]), NSSt
Nu programming language is an open-source software created in 2007 by Tim Burks, an American software developer who now works for Google on APIs. The creation of Nu came about in the same year as the launch of the first iPhone, and it was working with OS X and iOS that led to the creation of the new language. The success of Apple products has made the 1983 language Objective-C an extremely relevan
米Twitterは7月1日、Mac OS X向けのUI開発フレームワーク「TwUI 0.1」を公開した。Mac OS Xの「Core Animation」機能を利用するUIフレームワークで、iOS向けアプリケーションで利用されている「UIKit」に近い感覚でMac OS X向けアプリケーションを開発できる。 TwUIは、Twitterが提供するMac OS X向けの公式クライアント「Twitter」(旧名称はTweetie)で利用されているフレームワーク。iOS向けのUIフレームワーク「UIKit」の哲学をデスクトップ向けに適用したもの、と開発チームは説明している。UIKitはCore Animationを利用しており、CPUではなくGPUを用いたハードウェアアクセラレーションを利用できる点が特徴となる。TwUIを利用すると、iOS開発者は慣れ親しんだMVCモデルでUIを開発できるという。
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
CoreData を使うアプリであればこの程度の件数はすぐに行くので、起動時にマイグレーションが走ると確実に落ちてしまう。これを防ぐためには起動時に CoreData へアクセスさせないのが最低限の対策になるが、その場合でもユーザが CoreData へアクセスする操作を行った瞬間にマイグレーション処理に時間がかかって画面が固まったようになるのでユーザビリティは良くない。 マイグレーションを考慮したパターン よって CoreDataを使うアプリではマイグレーション用の画面を用意するのがベスト。処理フローはこんな感じ。 起動 ↓ (1)マイグレーションチェック もし必要なら、マイグレーション用の画面へ遷移し、(2)マイグレーション実行 ↓ 通常画面マイグレーションチェックは NSPersistentCoordinator を使えばわかる。 Cocoaの日々: [iOS][Mac] CoreD
NSPredicateで使用できる全構文の解説です。 確認に使用したサンプルコードはこちらです。 NSPredicate Programming Guide - Predicate Format String Syntaxに記載しているのは全て取り上げていますが、SUBQUERYがNSExpressionに書いてあったりしたからまだ他にもあるのかもしれません。 あと@を指定して使用する関数のドキュメントが見つからなかった・・・ドキュメントが乱雑し整理されていない感じがしました。 関連キーワード: BNF, NSExpression 注意: SQLと同じ用語には注意が必要です。例えばANYはSQLのANYとは異なります。 リテラル %@ 文字列として扱われる(ダブルクォーテーションで囲われる) NSString *attributeValue = @"Anne"; NSPredicate *
Code Archive Skip to content Google About Google Privacy Terms
新型コロナウイルスの「接触確認アプリ」について、利用者から不具合を訴える声が相次ぎ、厚生労働省が検証に乗り出すことになりました。 厚生労働省によりますと、17日までに1704万件がダウンロードされていますが、先月以降、「通知が届いたのに『接触なし』と表示される」といった問い合わせが、合わせて数千件寄せられているということです。 これまで厚生労働省は「本人が不具合と誤認している可能性もある」などとしていましたが、不具合が起きているかどうか近く検証を始めることを決めました。 個人情報が含まれない「ログ」と呼ばれる記録を本人が同意した場合に限って送信できるよう、来月にもアプリをアップデートするということです。 都内の保健所からは「先月以降、アプリに関する相談が急増し、検査機能が破綻しかねない」といった声が出ているということで、厚生労働省はアプリの改善に努めていきたいとしています。
iOS4 からアプリケーションのバックグラウンド動作がサポートされているが、それらはだいぶ制限されたものとなっていて、通常のアプリケーションはバックグラウンドでは最大10分程度しか生存することが出来ない。 それを回避するために Info.plist に特殊なフラグをたてることで例外的に制限を解除することができるようになっている。そのフラグの種類は audiolocationvoip であり、それぞれバックグラウンド音声再生、バックグラウンド位置情報取得、バックグラウンドでのソケット監視(voipの着信監視用)に対応している。 そのうち voip だけ今まで扱ったことがなかったので挙動確認のためやってみた、というのが今回のお話。 まず書いてみたコード: https://github.com/typester/voip-socket-test ソケットのハンドリングに libev を使っている
[Codex] いろいろ告知 2008/9/13 04:36:59 いろいろ告知です. おおがきビエンナーレのカフェでトーク まだ本決まりじゃないので,どうなるか分かりませんが 9/21 14:00~,城さんと(もしくはSWOのメンバーと)カフェでトークします. ゆるい感じでだらっと話す + お客さんに突っ込み入れてもらう てな感じだと思います. 場合によってはいつか〜公開録音になるかも. 場所:竹島会館(1F入口入ってすぐの左手の10帖の和室) 9/27 Audible Realitiesが,DeMOSAに出ます. 何をお見せするかはお楽しみ. 僕も行きます. 日時: 9月27日(土)14:00〜18:00(13:30開場/入退場自由/途中休憩あり) 会場:東京ミッドタウン「インターナショナル・デザイン・リエゾンセンター」 (東京都港区赤坂9-7-1 ミッドタウン・タワ
わかばマークのMacの備忘録 RSS * Admin * Write 初心者による Mac OSX の便利な使い方や、ソフトウェアの紹介など、Macのこといろいろ。
著者の川邉さん(@jeffsuke)および出版社のリックテレコム様より『よくわかるAuto Layout - iOSレスポンシブデザインをマスター』をご献本いただきました。 タイトルの通りAuto Layoutの解説書で、豊富な図やスクリーンショットを用いて、非常にわかりやすく書かれています。前書きによると、本書の対象読者は 過去一度はXcodeを用いてiOSアプリをつくったことがあるが、Auto Layoutとサイズクラスを用いたAdaptive Layoutと言われると尻込みしてしまう開発者 とのこと。 なんかもうベストセラーになったりしてるらしく、 「よくわかるAuto Layout iOSレスポンシブデザインをマスター」発売しました。@tokorom 監修。今、モバイルプログラミング分野でベストセラーらしいです! https://t.co/wx7ZfuWVdf— Yusuke Ka
接触確認アプリCOCOAが政治問題化しています。 昨年6月、首相の肝煎りでリリースされ、感染対策の切り札担うと期待されました1。ダウンロードは2千万件を超えました2。しかし、9月末から2月中旬まで、ユーザーの3割ほどを占めるAndroidユーザーに通知が届かない不具合が見つかりました3。そしてiOSでも深刻な不具合があると発表されました4。政府は、相次ぐ不具合を修正することで、COCOAを正常に機能させようと躍起になっています5。 しかし、今回問題になっている不具合より、はるかに大きな問題が放置されたままになっています。そのうえ、それを指摘する人もいません。多くの専門家たちがCOCOA問題について論じているというのに、なぜか問題の本質は語られない。そのような状況に一石を投じるべく、この文章を書いています。 COCOAの失敗は、統治の失敗 COCOAは日本人の能力を超えたプロジェクトでした。
iOSDC JAPAN 2017の前夜祭で「Objective-C++を使ってMRCで快適に開発する」という発表をしてきました。 Objective-Cに関するCfpは少ないだろうから選ばれる可能性が高そうだったのと、マニアックな話題にすると前夜祭に選ばれて発表が終わった後にスッキリとした気持ちで本編を見ることができるだろうという見込みがピッタリはまって、前夜祭で発表することとなりました。 「すごく参考になりました!早速使ってみます!」みたいなコメントは僕の知る限りひとつもいただけなかったのですが(それは当然)、すでにObjective-C++を使っている方が少なからずいらっしゃることもわかりましたし、MRCで書くかどうかはさておいてObjective-C++はパフォーマンスを追求するような分野では細々と使われていくのではないかなという印象です。 発表の内容に関して興味のある方は、以下のス
I was recently working on an internal project for Burnside Digital, and decided it was time to do some memory profiling to make sure that I didn’t have any leaks. I ran the program with the ‘Leaks’ tool of instruments, and as I was watching the Live Bytes column, I saw the number of Bytes being used, slowly but surely increasing as time went on. Instruments wasn’t detecting any leaks, so I knew th
ここのところObjective-Cを勉強中なんですが、まず最初にびっくりしたのがメソッド名の長さです。 Objective-Cでは、メソッドの呼び出し時に引数の名前を明示するので、「このメソッドの2番目の引数は何の意味だっけ?」などと悩む必要がなくなる反面、メソッド名が「動詞+前置詞+名詞1:名詞2:名詞3...」のような構成になって、ものすごく長くなります。 一番長いメソッドは何文字あるのか好奇心が湧いてきたので、Cocoaのリファレンスに載っているクラスを対象に調べてみました。 まず、メソッド全体の長さベスト10です。 第1位 initWithBitmapDataPlanes:pixelsWide:pixelsHigh:bitsPerSample: samplesPerPixel:hasAlpha:isPlanar:colorSpaceName:bitmapFormat: bytesP
Objective-C 2.0は移行する価値あるか? Leopardの調子がいい。Appleの喧伝によれば、新OSを発売したときは毎回そうなのだが、今までに最も売れたMac OSであり、300の新機能がある。何もこれらの数字をあげなくとも、今までの積み重ねの上に、「使いやすさ」というMacの永遠の命題を追求し続けていることは、ユーザの方なら感じ取れるだろう。 さて、そんなMac OS Xを支えるものと言えばアプリケーションフレームワークCocoaであり、そのCocoaを支えるものと言えばプログラミング言語Objective-Cである。もはやCocoa専用言語の感もあるObjective-Cだが、登場から長い年月が経ち、いささか古くさく見えるのも確かだ。そこで、LeopardではObjective-Cのオーバーホールが行われ、Objective-C 2.0という名称とともにバージョンアップを
(2011/12/19 追記) Google Data APIs Objective-C Client Library のコードで不要な autorelease をしていたのを修正しました。 もりやまです。先日初めて仕事として iPhone アプリの開発に携わりました。 iPhone アプリの開発が解禁された直後に少し齧って、今回ほぼ 2 年ぶりに触ってみたんですが、相変わらず ObjC には慣れないですね・・・ さて今回は、そんな ObjC での開発で、iPhone アプリ向けに使えるライブラリを調べてみました。 Google Data APIs Objective-C Client Library gdata-objectivec-client – Project Hosting on Google Code Google の各種サービスへアクセスするためのライブラリです。 今回の開発
photo by RelaxingMusic 6月をもって3年半ほど在籍したフェンリル株式会社を退職します. ふりかえり 入社当初は受託開発の部署に配属されたのですが,実績のわりには人数も少なく「えらいところにきてしまった」感があったことが記憶に残っています. 当時はスマートフォンアプリが黎明期なだけでなく,クライアントを含めて初めてのことばかりだったにも関わらず,中途採用とはいえほとんど新卒だった自分(新卒の年の11月に転職した)には戸惑うことも多く,手探りで仕事をしていました. 今でこそCocoaの人ですが,この頃はAndoirdアプリも担当していたので,最新技術を追いかけるのが大変だったり,iOSと比べるとAndroidアプリどんなけ大変やねん!と心を闇に染めたり,ひとつの案件のアプリを両方向けに書いたりで挑戦的なことが多かったです(結果的にAndroidの悪口言いたいだけみたいにな
Goの cgo という機能を使うと、GoからCの世界のコードを呼んだり、呼ばれたりすることができる。 Perlで言うところのXSというやつだ。 このcgoを使ったGoプログラムは、昔はMakefileを利用してビルドしていたそうだが、 1.0からは go get や go build と言った、go toolがcgoに対応したのでそういうことも必要なくなっている。 cgoの基本的な使い方 まずは import "C" として、Cという疑似パッケージをimportする。 このパッケージを使うと、 C.fprintf(...) というような感じでCの世界にアクセスできるようになる。 また、このimport文の直前のコメントはCのコードとして解釈される。 なので、 package main /* #include <stdio.h> void hello() { fprintf(stderr,
delegateやprotocolの勉強をしたいという人がいるので、なるべくわかりやすくここに書いておこう。propertyとか、delegateっていうのはObjective-Cで楽しいところでもある。 でも、delegateだけじゃなくて、他にもいろいろ非同期的な処理をやる方法あるんで、それも、まとめて説明する。 適当に思いつくだけ書くと、非同期的な処理をするために、Objective-Cでは以下のようなやり方がある。他にもあるかもしれないが、だいたいこれだけある。そして、どれを使ってもいい。 Objective-C、C/C++でも可能 ・関数のアドレスを保持しておいてコールバックする。 ・pthread条件変数を使う。(デッドロックやスレッド管理) ・非ブロッキングI/Oする。(データの検査コスト大、結局カーネル空間からユーザ空間に必要なデータをコピーするときにブロックされる) ・シ
The Panic File Museum. Welcome to everything we've ever made. Note: old software is unsupported.
最近 FacebookがOSSとして公開した pop は Paperで使われているアニメーションライブラリです 少し触ってみたので基本的な使い方などをまとめてみます この記事はブログでも公開しています pop とは 公式ブログに記事があるのでそちらがとても参考になります Introducing Pop, the animation engine behind Paper iOS や OS X でアニメーションを実装しようとするとCoreAnimationを使うと思うのですが実はCoreAnimationはなかなか使いにくいライブラリだったりします。確かにCABasicAnimationは簡単ですが、Timing Functionをlinear, ease-in, ease-out, ease-in ease-outの四種類と3次ベジェ曲線のいずれかからしか指定することができません。これだと
xcodeでプログラムを書いていると、メモリ管理なぞ忘却のかなたなので、リークしていたり、解放済みのメモリにアクセスしていたりと、問題が多々ある。 xcodeでのデバッグコンソールは、基本的にgdbなので、VisualStudioで開発するようには簡単に問題箇所を見つけ出すことができない。 ポインタに対する不正なアクセスは、大体のところ プログラムはシグナルを受信しました:“EXC_BAD_ACCESS” というメッセージが出るだけで、「どこでそれが起こったのか」についての何の手がかりも与えられない。Breakすらしない。 さすがにこんな状況でデバッグしている人はいないだろうと、検索をかけてみると、 DebuggingAutorelease - CocoaDev NSZombieEnabled - CocoaDev あたりが役に立ちそうである。 とりあえず色々試行錯誤してみたが、NSZom
なんか無性にゲームが作りたくなったのでブラウザで遊べる簡単なゲームを作っています。 今のところまだ2つだけですが、少しつづ種類を増やしていきたいです。 マインスイーパ ライフゲーム 久しぶりすぎて基本中の基本であるゲームループの実装すら忘れてました。 日本限定の標準地域メッシュを世界に拡張した世界メッシュという規格がある 普段、データ分析業務などで総務省が策定した標準地域メッシュ(JISX0410)を利用しています。この規格は日本でしか利用できないのですが漠然と定義を拡張して全世界で使えたりしないのかなと思って、いろいろ探してみたところ世界メッシュというものを発見しました。 一般社団法人世界メッシュ研究所 – Research Institute for World Grid Squares ブラウザで世界標準メッシュを利用してみたかったので自前で TypeScript でライブラリを開発
alloc Foundation, NSObject, 10.0 メモリを確保してインスタンスを作ります 解説 メモリを確保してインスタンスを作ります。 サブクラスはオーバーライドしてはいけません。代わりにそのクラス専用の初期化メソッドとしてinit...メソッドを使用します。 不要になれば、releaseかautoreleaseでメソッドを解放する必要があります。 新たに作成されたインスタンスのisaインスタンス変数は初期化されます。 他の全てのインスタンス変数のためのメモリは、0までセットされます。 新しいインスタンスは、デフォルトのゾーンからアロケートされます。 特定のゾーンを使用する場合はallocWithZone:を使用してください。 初期化プロセスを完了させるためには以下のような形式でinit...メソッドを使用します。 TheClass *newObject = [[TheC
The barcode scanner project, written in Cocoa, is for scanning barcodes on books, DVDs, CDs and video games as well as most other kind of EAN or UPC barcodes. It is part of our programs - DVDpedia, Bookpedia, CDpedia and Gamepedia - and is also used by Books. The code is available for free in the hopes that it'll be useful to other Mac developers. Of course it would be great if it were also improv
チョコレート・ココアの表示、分類、種類別名称等のお問い合わせはこちらへご連絡ください。 当協会とは別の団体となります。
Objective-C でシングルトンパターンのクラスを作成するメモです。 シングルトンパターンとは、クラスのインスタンスがひとつしか生成されないことを保証するデザインパターンです。NSUserDefaults などがシングルトンなクラスです。 シングルトンなクラスを作成するときのポイントです。 静的インスタンスを生成して、ひとつだけ作成したインスタンスを入れておく アップルが推奨しているクラスファクトリーメソッド名(sharedInstance や sharedManager) を使用して、インスタンス未生成時のみインスタンスを生成する インスタンスがひとつしか生成されないことを保証するために [[Hoge alloc] init] とされた場合の対策をしておく retain, retainCount, copyWithZone, release, autorelease をオーバライド
これまでの記事はこちら: [iOS5] ARC (Automatic Reference Counting) : Overview [iOS5] ARC : プロパティ属性と使い方 [iOS5] ARC : Outletにはweakプロパティを使おう 循環参照とは 今回は、強参照(Strong reference)を使うときに注意したい循環参照(Strong reference cycle)についてです。循環参照とは、その名の通り、2つ以上のオブジェクトが強参照し合うことにより、どちらのオブジェクトも破棄できない状態を言います。 ここで、循環参照が発生するのは、お互いに”強参照“しているときです。複数のオブジェクトが親子関係を持つ場合を考えてみます。 アドレス帳オブジェクトAddrBookと、そのエントリーEntryがあるとします。AddrBookはEntryオブジェクトのentryを、E
RestKit is an Objective-C framework for iOS that aims to make interacting with RESTful web services simple, fast and fun. It combines a clean, simple HTTP request/response API with a powerful object mapping system that reduces the amount of code you need to write to get stuff done. RestKit's primary goal is to allow the developer to think more in terms of their application's data model and worry l
Mountain Lionの新機能の一つ、通知センターをうまく使えないかと試してみた記録。今まではgrowlnotifyコマンドを利用して、AppleScriptなどの処理の状態を知る手がかりにしていた。できることならOSX標準の仕組みだけで通知したいのだ。 Objective-C CocoaはObjective-Cで書かれている。Objective-CはCocoaのために存在する、と言えるかもしれない。 だから、最初はObjective-Cで考えることが、理解への近道だと考えた。 #import "AppDelegate.h" @implementation AppDelegate - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { // Insert code here to initializ
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く