O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
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化してみた話
Próximos SlideShares
Carregando em…5
×

64bit化してみた話

2.052 visualizações

Publicada em

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

Publicada em: Tecnologia
  • Seja o primeiro a comentar

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

×