Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Hiroe Orz
1,104 views
iPhone, iPad アプリ開発勉強会#3
iPhone, iPad アプリ開発勉強会#3 の為に作成した資料です。
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
1
/ 27
2
/ 27
3
/ 27
4
/ 27
5
/ 27
6
/ 27
7
/ 27
8
/ 27
9
/ 27
10
/ 27
11
/ 27
12
/ 27
13
/ 27
14
/ 27
15
/ 27
16
/ 27
17
/ 27
18
/ 27
19
/ 27
20
/ 27
21
/ 27
22
/ 27
23
/ 27
24
/ 27
25
/ 27
26
/ 27
27
/ 27
More Related Content
PDF
Objective-C のキャストと Swift の型変換を比べてみる #akibaswift
by
Tomohiro Kumagai
PDF
第一回Miim勉強会
by
Yuri Kawamoto
PDF
Slick入門
by
chibochibo
PDF
MongoDBの使い方
by
Tatsuto Maetsu
PDF
jqで極めるシェル芸の話
by
Yoichi Toyota
PDF
Introduction to cocoa sql mapper
by
mavelph
PPTX
IaaS を活用した情報セキュリティ演習環境の設計と実装
by
Daisuke Kotani
PDF
Lotus DEvCon 2000 - LotusScript Tips and Techniques
by
Hiroaki Komine
Objective-C のキャストと Swift の型変換を比べてみる #akibaswift
by
Tomohiro Kumagai
第一回Miim勉強会
by
Yuri Kawamoto
Slick入門
by
chibochibo
MongoDBの使い方
by
Tatsuto Maetsu
jqで極めるシェル芸の話
by
Yoichi Toyota
Introduction to cocoa sql mapper
by
mavelph
IaaS を活用した情報セキュリティ演習環境の設計と実装
by
Daisuke Kotani
Lotus DEvCon 2000 - LotusScript Tips and Techniques
by
Hiroaki Komine
Similar to iPhone, iPad アプリ開発勉強会#3
PDF
NS Prefix - そこから見渡す Swift 3 の景色 #startup_mobile
by
Tomohiro Kumagai
PDF
Hello Dark-Side C# (Part. 1)
by
Yuto Takei
PDF
Swift らしい表現を目指そう #eventdots
by
Tomohiro Kumagai
KEY
Objc lambda
by
matuura_core
PDF
LITメンター研修_Android0212
by
Ryo Yamamoto
PDF
すごい配列楽しく学ぼう
by
xenophobia__
PDF
Cocoa Pro07
by
hasegawa
PDF
Ib資料20090222
by
Hiroyuki Fujikawa
PDF
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
by
聡 中川
PDF
iPhoneアプリを作ってみよう
by
Nagao Shun
PDF
Ruby紹介3(pdf)
by
Gohryuh
PDF
I phoneアプリ入門 第5回
by
Sachiko Kajishima
PPTX
第3回輪講
by
mh_amako
PDF
第3回yidev coding guideline読み
by
Tomohiko Okita
PDF
Saitama beginner tips50
by
Tomohiko Okita
PDF
勉強会資料@335g
by
Yoshiki Kudo
PDF
Objectie-C de ラムダ
by
Akihiko Matuura
PDF
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ
by
聡 中川
KEY
1.29.user,user,user
by
Tonny Xu
KEY
Cocoa勉強会関西2012年5月
by
Satoshi Oomori
NS Prefix - そこから見渡す Swift 3 の景色 #startup_mobile
by
Tomohiro Kumagai
Hello Dark-Side C# (Part. 1)
by
Yuto Takei
Swift らしい表現を目指そう #eventdots
by
Tomohiro Kumagai
Objc lambda
by
matuura_core
LITメンター研修_Android0212
by
Ryo Yamamoto
すごい配列楽しく学ぼう
by
xenophobia__
Cocoa Pro07
by
hasegawa
Ib資料20090222
by
Hiroyuki Fujikawa
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
by
聡 中川
iPhoneアプリを作ってみよう
by
Nagao Shun
Ruby紹介3(pdf)
by
Gohryuh
I phoneアプリ入門 第5回
by
Sachiko Kajishima
第3回輪講
by
mh_amako
第3回yidev coding guideline読み
by
Tomohiko Okita
Saitama beginner tips50
by
Tomohiko Okita
勉強会資料@335g
by
Yoshiki Kudo
Objectie-C de ラムダ
by
Akihiko Matuura
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ
by
聡 中川
1.29.user,user,user
by
Tonny Xu
Cocoa勉強会関西2012年5月
by
Satoshi Oomori
Recently uploaded
PDF
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
PPTX
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
PDF
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
PDF
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
iPhone, iPad アプリ開発勉強会#3
1.
iPhone, iPad
アプリ開発勉強会#3 12年12月7日金曜日
2.
Objective-Cでの型
文字列 NSString 配列 NSArray ハッシュ NSDictionary テキストフィールド UITextField ボタン UIButton などなど... 12年12月7日金曜日
3.
先頭が”NS”ではじまる型はObjective-Cの基本型です。
先頭がUIではじまる型はiOSでのユーザーインターフェースに対する操作、データ取 得等の機能を提供する型です。 iOSの構成 アプリ Cocoa Touch フレームワーク Media(グラフィックスetc) Core Services(データ管理etc) Core OS 12年12月7日金曜日
4.
よく使う型をいくつかみてみます 12年12月7日金曜日
5.
文字列型:NSString
/* リテラル(先頭に@を付ける) */ NSString *str = @”こんにちは”; /* 埋め込み */ NSString *name = @”ひろえ”; NSString *str = [[NSString alloc] initWithFormat:@”私は%@です”, name]; /* 連結 */ NSString *str1 = @”わたしは”; NSString *str2 = @”ひろえです”; NSString *str3 = [str1 stringByAppendingString : str2]; /* 文字列の長さ(バイト数ではなくユニコード文字列の文字数) */ NSInteger strlen = [str3 length]; 12年12月7日金曜日
6.
可変文字列型:NSMutableString
NSMutableString型はNSStringに破壊的メソッドを追加したものです。 NSString型のオブジェクトに対してmutableCopyメソッドを呼ぶとNSMutableStringのイ ンスタンスを生成出来ます。 /* 与えられた文字列をもとの文字列に追加する */ NSMutableString *str1 = [@”こんにちは” mutableCopy] ; [str1 appendingString : @”世界”] 結果 => @”こんにちわ世界”; /* 指定範囲を文字列を与えられた文字列で置換する */ NSMutableString *str = @”私はRubyが好きです”; [str replaceCharactersInRange : NSMakeRange(2, 4) withString:@”Objective-C”]; 結果 => @”私はObjective-Cが好きです”; 12年12月7日金曜日
7.
NSStringでの文字列の連結と
/* 連結 */ NSString *str1 = @”わたしは”; NSString *str2 = @”ひろえです”; NSString *str3 = [str1 stringByAppendingString : str2]; NSMutableStringでの文字列の連結の NSMutableString *str1 = [@”こんにちは” mutableCopy]; [str1 appendingString : @”世界”] 結果 => @”こんにちわ世界 違いは...? 12年12月7日金曜日
8.
NSStringでの文字列の連結の場合
/* 連結 */ NSString *str1 = @”わたしは”; NSString *str2 = @”ひろえです”; NSString *str3 = [str1 stringByAppendingString : str2]; str1 str2 @”私は” @”ひろえです” str3 @”私はひろえです” NSStringでの連結はもとの文字列str1, str2は何も変化せず、両者を連結した新たなオ ブジェクトを作り出します。 12年12月7日金曜日
9.
新たなオブジェクトを生成する必要があるので必要な処理を多く、
コストがかかります。 ただし、もとのオブジェクトは何も変化しないので、より安全といえます。 12年12月7日金曜日
10.
対して... 12年12月7日金曜日
11.
NSMutableStringでの文字列の連結の
NSMutableString *str1 = [@”こんにちは” mutableCopy]; [str1 appendingString : @”世界”] 結果 => @”こんにちわ世界 str1 str2 @”私は” @”ひろえです” 12年12月7日金曜日
12.
NSMutableStringでの文字列の連結の
NSMutableString *str1 = [@”こんにちは” mutableCopy]; [str1 appendingString : @”世界”] 結果 => @”こんにちわ世界 str1 str2 @”私はひろえです” @”ひろえです” 操作対象のオブジェクトを直接変更します。 12年12月7日金曜日
13.
既にあるオブジェクトに対して直接変更を行うので、
速度が速く、消費メモリも少なくてすみます。 ただし、スレッド等使用して同時に処理が行われたりすると再現の難しい不具合を発 生する可能性があります。 12年12月7日金曜日
14.
配列:NSArray
/* 要素を渡してインスタンスを生成 */ NSArray *array = [[NSArray alloc] initWithObjects:@”helo”, @”world”, nil]; /*指定番目の値を取得 */ NSString str = [array objectAtIndex:1]; 結果:@”world” /* 要素数を取得 */ NSInteger obj_count = [array count]; 結果:2 12年12月7日金曜日
15.
配列:NSMutableArray
NSMutableArray型はNSArrayに破壊的メソッドを追加したものです。 /*末尾に要素を追加 */ NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@”helo”, @”world”, nil]; [array addObject : @”goodbye”]; /*指定番目の値を削除 */ [array removeObjectAtIndex : 2]; 12年12月7日金曜日
16.
整数: NSInteger 小数
CGFloat, double これらはC言語レベルでのintおよびfloatまたはdoubleと同じです。 マクロで定義してあり... NSIntegerは環境によってintまたはlongになります。 CGFloatは環境によって自動的にfloatまたはdoubleになります。 ほとんどの場合はintやfloatを直接書くよりも、NSIntegerやCGFloatで定義しておいた 方が、コードの再利用生や将来のiOS側の変更に強いコードになりそうです。 12年12月7日金曜日
17.
ここでひとつ問題が 12年12月7日金曜日
18.
NSArrayなどの要素として渡せるのは”オブジェクト”です。
たとえば下のようなイメージ。 NSString *str1 = @”こんにちわ”; NSString *str1 = @”世界”; NSArray *array = [[NSArray alloc] initWithObjects : str1, str2, nil] str1 str2 *array = @”世界” @”こんにちは” 12年12月7日金曜日
19.
でも実際には下のようなイメージ。
*str1 メモリ *str2 546 234 @”世界” @”こんにちは” *array 546, 234 12年12月7日金曜日
20.
配列に収まっているのは実際には「オブジェクトの番地」であり、
参照された際には番地をたどってオブジェクトを参照しています。 12年12月7日金曜日
21.
ところが、オブジェクトは変数にメモリの番地が入っているのに対して
NSIntegerやCGFloatなどのC言語レベルの値はメモリに直接値が入ってます。 NSString *str1 NSInteger int1 1003 3 @”こんにちは” 12年12月7日金曜日
22.
このままではNSInteger型やCGFloat型をObjective-Cの配列に入れる事が出来ません。 12年12月7日金曜日
23.
そこで。 12年12月7日金曜日
24.
配列:NSNumber
NSNumber型は数値をラップする型です。Objective-Cの配列やハッシュに値を納める 場合は、一旦NSNumberでくるんでからオブジェクトとして渡します。 /* int型からオブジェクトを生成 */ NSNumber *num1 = [NSNumber numberWithInteger : 5]; /* float型からオブジェクトを生成 */ NSNumber *num2 = [NSNumber numberWithFloat : 5.0f]; /* NSNumber型のオブジェクトで配列を生成 */ NSArray array = [[NSArray alloc] initWithObjects: num1, num2, nil]; 12年12月7日金曜日
25.
配列:NSDictionary
NSDictionary型はハッシュテーブルの機能を提供するクラスです。 Rubyで表現するとこんなかんじのやつ dic = {“name” => “shin”, “age” => 37, “country” => “日本”} /* オブジェクトを生成 */ NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys: @”val1”, @”key1”, @”val2”, @”key2”, nil]; /* 値を参照 */ NSString *str = [dic objectForKey:@”key1”]; 結果:@”val1” 12年12月7日金曜日
26.
配列:NSMutableDictionary
NSMutableDictionary型はNSDictionary型に破壊的メソッドを追加したものです。 /* オブジェクトを生成 */ NSMutableDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys: @”val1”, @”key1”, @”val2”, @”key2”, nil]; /* キー、値のペアを追加 */ [dic setObject : @”val3” forKey : @”key3”]; /* キー、値のペアを削除 */ [dic removeObjectForKey : @”key3”]; 12年12月7日金曜日
27.
おわり 12年12月7日金曜日