Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
64bit化してみた話
デンソーアイティーラボラトリ
@sonson_twit 吉田悠一
本業
自己紹介
Evernote関連で言うと
• 2tchにクリップ機能があるのはご存知ですか?
1%
19%
80%
2tchを知らんがな
そんなん知らんがな
知ってた
お話
• そんな2tchの64bit化の話
• そんな2tchのコメントについての話
はまったところ
• UITableViewの高さ
• NSIntegerのNSNotFound
• 警告うざい
• fwriteとfread
高さ
- (float)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;
こんな雑なコードを書くと!
こんな悲劇的な結果を招きます
高さ
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;
ちゃんと,定義に従って書いておきましょう.!
将来.サポ...
NSNotFound問題
enum {	
NSNotFound = NSIntegerMax	
};	
!
int i = [array indexOfObject:obj];	
if (i != NSNotFound) {	
	 // 常にこ...
警告
• [NSString stringWithFormat:@“%d”, i];
• 64bitでコンパイルすると警告だらけに・・・・
!
• まぁそうだよね.
• でもテストしながら修正するの地獄です.
悪魔的な変更・・・・!!!!
ざわ・・・・・・
ざわ・・・・・・
ざわ・・・・・・
ざわ・・・・・・
ドキュメント「Major 64-Bit Changes」より
なぜなら
• 2tchはI/O高速化のためにレイアウト情報をバイナ
リで書き出している・・・!!!!
• しかもCGRectを直接!!!!!!!
• CGRect->CGPoint, CGSize
• CGPoint->CGFloat
• CG...
キャストで逃げた
• 仕方ないナリ・・・・
!
• CGRect32を作った
• CGPoint32, CGSize32を作った
!
• このやり方はいつか・・・・
• 将来に禍根を残す!!!!!!
今日のお話
• 宣伝
• Evernoteクリップ機能
• CGFloatェェェェェ
Thank you.
@sonson_twit
http://sonson.jp
backup slide
backup
64bit化してみた話
64bit化してみた話
Nächste SlideShare
Wird geladen in …5
×

64bit化してみた話

2.045 Aufrufe

Veröffentlicht am

iphone_dev_jp 東京 feat. Ben Zotto (Penultimate開発者)
LTにて発表.
http://connpass.com/event/5917/

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

64bit化してみた話

  1. 1. 64bit化してみた話 デンソーアイティーラボラトリ @sonson_twit 吉田悠一
  2. 2. 本業
  3. 3. 自己紹介
  4. 4. Evernote関連で言うと • 2tchにクリップ機能があるのはご存知ですか?
  5. 5. 1% 19% 80% 2tchを知らんがな そんなん知らんがな 知ってた
  6. 6. お話 • そんな2tchの64bit化の話 • そんな2tchのコメントについての話
  7. 7. はまったところ • UITableViewの高さ • NSIntegerのNSNotFound • 警告うざい • fwriteとfread
  8. 8. 高さ - (float)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section; こんな雑なコードを書くと! こんな悲劇的な結果を招きます
  9. 9. 高さ - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section; ちゃんと,定義に従って書いておきましょう.! 将来.サポートが絶対に楽になります.! ! 私は絶望的に気付かず,1日まったく改善できませんでした.
  10. 10. NSNotFound問題 enum { NSNotFound = NSIntegerMax }; ! int i = [array indexOfObject:obj]; if (i != NSNotFound) { // 常にここ通ります // 死ねます } else { }
  11. 11. 警告 • [NSString stringWithFormat:@“%d”, i]; • 64bitでコンパイルすると警告だらけに・・・・ ! • まぁそうだよね. • でもテストしながら修正するの地獄です.
  12. 12. 悪魔的な変更・・・・!!!! ざわ・・・・・・ ざわ・・・・・・ ざわ・・・・・・ ざわ・・・・・・ ドキュメント「Major 64-Bit Changes」より
  13. 13. なぜなら • 2tchはI/O高速化のためにレイアウト情報をバイナ リで書き出している・・・!!!! • しかもCGRectを直接!!!!!!! • CGRect->CGPoint, CGSize • CGPoint->CGFloat • CGSize->CGFloat ! • CGFloatェェェェェェ
  14. 14. キャストで逃げた • 仕方ないナリ・・・・ ! • CGRect32を作った • CGPoint32, CGSize32を作った ! • このやり方はいつか・・・・ • 将来に禍根を残す!!!!!!
  15. 15. 今日のお話 • 宣伝 • Evernoteクリップ機能 • CGFloatェェェェェ
  16. 16. Thank you. @sonson_twit http://sonson.jp
  17. 17. backup slide backup

×