Ios 内存管理和性能-是否声明属性

Ios 内存管理和性能-是否声明属性,ios,objective-c,memory-management,properties,automatic-ref-counting,Ios,Objective C,Memory Management,Properties,Automatic Ref Counting,我已经面对过这种情况好几次了,但我仍然不明白到底有什么区别。这里有一种情况:我有一个UITableViewController和几个UITextFields,现在,当调用方法textfielddendediting时,它从textField获取数据并保存到数据库中。这非常简单,因为我有一个TapGestureRecognitor,所以当用户从textField中取出文本并保存到数据库中。每次用户在屏幕中输入textField时,它都会这样做。此屏幕用于更改数据,因此,用户可能只需要更改一个文本字

我已经面对过这种情况好几次了,但我仍然不明白到底有什么区别。这里有一种情况:我有一个
UITableViewController
和几个
UITextFields
,现在,当调用
方法
textfielddendediting
时,它从
textField
获取数据并保存到
数据库中。这非常简单,因为我有一个
TapGestureRecognitor
,所以当用户从
textField
中取出文本并保存到
数据库中。每次用户在屏幕中输入
textField
时,它都会这样做。此屏幕用于更改数据,因此,用户可能只需要更改一个
文本字段
,否则我会立即将其保存到
数据库
,这是我的问题

另一种方法是为每个
textField
创建
BOOL
属性
,当
textField
上的
数据发生更改时将其设置为true,当用户离开屏幕时,检查更改的
textFields
,并将
保存到
数据库中。这样可以避免每次
textField
更改都发送网络请求,并且只连接到网络一次。若用户有一个坏的连接,这将是更好的

现在,我喜欢让我的代码保持简单,我总是关心设置许多
属性和编写许多值的故事。基本上,我的想法是,我写的
属性越多,我使用的内存就越多。这是真的吗?无论如何,我想要的是获得关于这个场景的一些意见,以及您更喜欢这两种方法中的哪一种


谢谢。

一些BOOL属性实际上不会使用额外的内存。你什么都不担心。避免不必要的网络调用远比节省六个字节的内存重要。在一个
视图中会有20-30个
BOOL
属性。我同意你关于网络电话的看法。我只是担心,因为有时候我有很多不同类型的
属性
。30
BOOL
属性将添加30个字节。就这样。除非您计划创建此视图控制器的数千个实例(一次全部在内存中),否则您什么都不用担心。不要担心像这样简单的小属性,它只是一个丑陋的代码。为什么不将与textField对象相关的所有BOOL存储在字典中,其中键作为textField标记作为字符串,值作为BOOL。或者类似的事情。。。或者,更好的是,使对象包含两个属性,一个是对textField标记的引用,另一个是BOOL。20-30个bool只会使您的代码不可能在以后读取和重用。