Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

64bit化してみた話

2,042 views

Published on

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

Published in: Technology
  • Be the first to comment

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

×