iOS 开发者入坑 Flutter 知识迁移(译)

此文档用于帮助 iOS 开发者将现有的 iOS 知识运用到 Flutter 移动应用开发中。如果已经掌握 iOS 框架的基础,能快速通过此篇文章上手 Flutter 开发。

阅读本文前,最好花 15 分钟看完以下关于 Cupertino 的视频。

Flutter 依赖大量的手机操作系统的能力和配置,因此,iOS 技能在开发中会起到很大帮助。Flutter 是一种开发移动 UI 的新方式,但它有额外的插件系统在非 UI 任务上,和操作系统(iOS & Android)交流。iOS 开发专家不需要了解 Flutter 的所有东西。

当运行在 iOS 系统上时,Flutter 已经为此做了一些调整。更多可查看平台兼容性

开发过程中,遇到问题时,此文档可作为参考书查看。

Read More

用 Address Sanitizer 调试内存问题

最近,考虑到自身算法和数据结构基础薄弱,想在平日做些积累,保持对算法的敏感性。于是,开始整上了 “剑指 Offer” 并在 Leetcode 上刷题。

刷题过程中,碰到些题目需要动态开辟内存,如 Longest Common Prefix 和 *Count and Say*。于是,在解题过程中,使用了 C 的一些动态开辟内存函数,在 Xcode 中编写完成且通过测试用例后,将代码贴到 Leetcode 上,运行报错:

1
AddressSanitizer: heap-buffer-overflow on address 0x6040000000fc at pc 0x00000040196c bp 0x7fffa37d1930 sp 0x7fffa37d1928

Read More

cell 高度自适应

参考文章:Raywenderich

  • 通过约束布局 cell 的子视图,子视图对 cell 的四个方向都需要建立约束;
  • tableview 要设置属性 rowHeight, estimateRowHeight
1
2
self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.estimatedRowHeight = 380;

So Easy!!

LLDB

2016年8月30日 下午5:49

打印

help
p(print)用于打印,
e(expression),修改程序运行时的值
p == e --
po(print object)

p/<fmt>,按照格式打印
p/x(16进制)
p/t(2进制)

Read More