【发布时间】:2013-02-18 19:35:38
【问题描述】:
我有一个输入表单,该表单将使用 NSArray 动态创建以填充左侧的描述字段(UILabels)。 在右侧,每个 UILabel 都应该有一个对应的 UITextField。
我希望(我实际上必须)动态创建这些 UITextField,将它们保存到 NSArray 中,然后在按下“完成”按钮以评估表单时能够访问它们可能已修改的文本值。
显然,仅将它们添加到 NSArray 只会以最近的表示形式存储对象的副本。如何存储真正的“链接”? 我正在使用 ARC。
【问题讨论】:
-
如果使用文本字段的委托功能来满足您的要求,那是什么情况?
-
NSArray 复制对象,因此当用户编辑文本字段时,您应该手动更新数组。如果您使用 NSMutableDictionary 并以 textFields 作为键并以文本作为其值,那会更好。然后你可以相应地填充数组。
-
NSDictionary 仅适用于保持唯一性的对象。修改 UITextField 文本会改变整个对象并将其再次插入到 NSDictionary 中,而不是替换旧的出现。还是我错过了什么?
-
NSArray 不可变我猜你是指使用 NSMutableArray 并改变对象。
-
是的。我认为这很清楚可以假设,所以我只提到了超类。
标签: ios uitextfield nsarray