首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在objective c中将多选UITableView值添加到UITextField

在Objective-C中将多选UITableView的值添加到UITextField,可以通过以下步骤实现:

  1. 创建一个UITableView,并设置其为多选模式。可以使用UITableView的allowsMultipleSelection属性来启用多选模式。
  2. 实现UITableView的数据源方法tableView:numberOfRowsInSection:tableView:cellForRowAtIndexPath:,用于显示列表数据和选择项。
  3. 在UITableView的代理方法tableView:didSelectRowAtIndexPath:中,获取用户选择的行,并将选中的值添加到一个数组中。
  4. 创建一个UITextField,并将其作为UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  5. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  6. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  7. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  8. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  9. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  10. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  11. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  12. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  13. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  14. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  15. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  16. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  17. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  18. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  19. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。
  20. 在UITableView的代理方法tableView:didDeselectRowAtIndexPath:中,获取用户取消选择的行,并将取消选择的值从数组中移除。

以下是一个示例代码:

代码语言:objective-c
复制
// 声明一个数组来保存选择的值
@property (nonatomic, strong) NSMutableArray *selectedValues;

// 在初始化方法中初始化数组
- (instancetype)init {
    self = [super init];
    if (self) {
        self.selectedValues = [NSMutableArray array];
    }
    return self;
}

// 实现UITableView的数据源方法
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return yourDataArray.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CellIdentifier"];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CellIdentifier"];
    }
    
    // 设置cell的文本
    cell.textLabel.text = yourDataArray[indexPath.row];
    
    return cell;
}

// 实现UITableView的代理方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    // 获取选择的值
    NSString *selectedValue = yourDataArray[indexPath.row];
    
    // 将选择的值添加到数组中
    [self.selectedValues addObject:selectedValue];
}

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
    // 获取取消选择的值
    NSString *deselectedValue = yourDataArray[indexPath.row];
    
    // 从数组中移除取消选择的值
    [self.selectedValues removeObject:deselectedValue];
}

// 在保存按钮的点击事件中,将选择的值添加到UITextField中
- (IBAction)saveButtonClicked:(id)sender {
    // 将选择的值拼接成字符串
    NSString *selectedValuesString = [self.selectedValues componentsJoinedByString:@", "];
    
    // 将选择的值设置给UITextField
    self.textField.text = selectedValuesString;
}

这样,当用户选择或取消选择UITableView中的行时,选择的值将会被添加到或从数组中移除。最后,用户点击保存按钮时,选择的值将会被拼接成一个字符串,并设置给UITextField。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS学习——tableview中带编辑功能的cell键盘弹出遮挡和收起问题解决

最近在项目中经常用到UITableView中的cell中带有UITextField或UITextView的情况,然后在这种场景下,当我们点击屏幕较下方的cell进行编辑时,这时候键盘弹出来会出现遮挡待输入的...UIKit视图(UITableView或UICollectionView),UITableViewController和UICollectionViewController中的self.view实际上就是对应的...然而,避免将HUD添加到具有复杂视图层次结构的某些UIKit视图(UITableView或UICollectionView)是一个好主意。...言归正传,下面就说回到我们要解决的问题,在UITableView的cell中,系统自带的UITableViewCell的格式没有自带UITextField或UITextView这种可以编辑的区域的,而这种类型的...} } 收起键盘的操作,和弹出键盘相对,弹出键盘时我们保存了弹出键盘之前tableview的contentOffset的偏移量,所以,在收起键盘后,我们将tableview的contentOffset设为弹出之前的就可以了

3.9K80

窥探Swift之协议(Protocol)和委托代理(Delegate)回调的使用

协议与委托代理回调在之前的博客中也是经常提到和用到的在《Objective-C中的委托(代理)模式》和《iOS开发之窥探UICollectionViewController(四) --一款功能强大的自定义瀑布流...说到协议,在Objective-C中也是有协议的,并且Swift中的协议和Objc中的协议使用起来也是大同小异的,在Java等现代面向对象编程语言中有接口(Interface)的概念,其实和Swift中或者...一.从UITableView中来窥探协议的委托代理回调     UITableView这个高级控件在iOS开发中的出镜率是比较高的,今天的重点不是介绍如何使用UITableView, 而是让通过UITableView...在viewWillDisappear方法中,会将用户输入的交付给委托代理者的fetchGirlName方法。...5 @IBOutlet var girlNameTextField: UITextField!

3.4K80

iOS开发之表视图爱上CoreData

:@"tel"];                   //把字典加入数组         [rowArray addObject:user];     }           //把rowArray添加到...:key forKey:@"header"];     [sectionDic setObject:rowArray forKey:@"items"];           //把section添加到总的数组中...didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {     return YES; } ​  3.配置工作完成接下来就是TableView和CoreData相爱的过程啦,如何在...NSManagedObejectContext的对象来操作CoreData中的数据,和Hibernate中的session的对象相似 1 2 3 4 5 @property (strong, nonatomic) IBOutlet UITextField...*nameTextField; @property (strong, nonatomic) IBOutlet UITextField *numberTextField;   //声明CoreData的上下文

2.1K80

译文: 低调奢华有内涵的「Runtime」

当然,我是翻译了这篇文章,但是对Runtime的理解,还是很基础——主要是还没有太多实践,真实开发中几乎也用不到,一文章所说:「如果可以,避免使用Objective-C的Runtime……」。...虽然Swift是用来取代Objective-C的,但苹果依然继续维护Ovjective-C。主要改进了:可以更好地和Swift编译,并添加了很多新特性,nullability、generics。...比如,假设你想创建一个类似UITableView,但又有点不一样的组件,这时候你可以用Runtime看一下UITableView是如何构建的。...如果在UITableView中使用,就会看到如下结果: (lldb) po [UITableView objcruntime_getMethodNames] <__NSArrayI 0x148316000...实现原理是:Objective-C的Runtime,会在「运行时」读取对象的属性,并填充从JSON获取的

95640

SwiftUI TextField进阶——格式与校验

开发可以直接使用非String类型的数据(整数、浮点数、日期等),通过Formatter来格式化录入的内容。...: String) -> Bool { // 检查string是否满足条件 if 满足条件 { return true } // 将新增字符添加到输入框 else...•支持的类型种类方案一可以直接使用多种数据类型,方案二中需在TextField的构造方法中将原始数值转换成对应格式的字符串。方案二的演示代码中,可以通过result获取字符串对应的数值。...•可选支持方案一采用的TextField构造方法(支持formatter)并不支持可选类型,必须要提供初始。...不利于判断用户是否录入新的信息(更多的信息可参阅如何在SwiftUI中创建一个实时响应的Form[10])。方案二中允许不提供初始,支持可选

8.1K20

AsyncDisplayKit 2.0 教程:入门「译」

为了更好的完成本教程,你需要会使用 Xcode 以及 熟悉 Objective-C。...免责声明:ASDK不兼容 Interface Builder和AutoLayout,因此,您将不会在本教程中使用它们,虽然ASDK完全支持Swift(除了ComponentKit),许多开发者仍在使用 Objective-C...出于这些原因,本系列将重点介绍 Objective-C。话虽这么说,我们已经包括了一个Swift版本的实例项目。(嘴上说没有,代码还是很诚实的~) 开始 首先,下载初始项目。...事实上,虽然他们定义了一些完全相同的方法, -tableNode:numberOfRowsInSection:,但两组协议也不完全相同,因为 ASTableNode 行为和UITableView还以所有不同的...现在,你就需要考虑如何在两个方向上动态加载内容。同时,还要对每个设备进行优化。 还记得告诉你 ASRangeController 是不重要的吗?现在,这将是我们的重点。

2.1K20

swift4.0语法杂记(精简版)

某些开发者为了让Objective-C和swift代码兼容,会尽少在Objective-C中定义宏。...但是开发中将变量赋值为空是在所难免的事情,因此就推出了可选类型。 可选类型是swift的一大特色,在定义变量时,如果指定这个变量是可选的话,就是说这个变量可以有一个指定类型的或者为nil。...与C语言和objective-c不同的是,swift的枚举成员在创建的时候并不会被赋予一个默认的整形。这些的类型就是刚刚定义好的枚举的名字SomeEnum。...预编译 Bridging Headers 文件 对于 Swift 和 Objective-C 混合的项目,Swift 调用 Objective-C 时,需要建立一个 Bridging Headers 文件...在 Swift 4 中,隐式 @objc 自动推断只会发生在很少的当必须要使用 @objc 的情况,比如: 复写父类的 Objective-C 方法 符合一个 Objective-C 的协议 其它大多数地方必须手工显示的加上

15.3K90

iOS面试现场,笔试提高题详解

例如UIKit的UITableView中有很多代理如果都换成block实现,会比delegates难好多。...代只是定义了个法列表,在遵守协议对象的objc_protocol_list中添加个节点,在运时向遵守协议的对象发送消息即可 题二:Objective C中多重继承的实现机制。 什么是多继承?...oc中的“多继承” 其实Objective-C不支持多继承,由于消息机制名字查找发在运时非编译时,很难解决多个基类可能导致的义性问题。...不过其实Objective-C 也需持多继承,我们可以找到如下种间接实现多继承的方法: 通过组合实现“多继承” 通过协议实现“多继承” 通过组合实现“多继承” [1240] 通过协议实现“多继承 虽然OC...[1240] 题三:简述Singleton的概念及并使用Objective C 写出相关代码。 Singleton: 单例模式。

79020

IOS开发之新浪围脖

下面还会提到如何在我们的项目中使用CocoaPods, CocoaPods的安装和使用教程请参考链接http://code4app.com/article/cocoapods-install-usage...//创建POST请求 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];        c....string转变成NSData类型 NSData *bodyData = [string dataUsingEncoding:NSUTF8StringEncoding];       f.把参数添加到请求中...//把bodyData添加到request中 request.HTTPBody = bodyData;     g.发送请求 //执行request [NSURLConnection...TableViewController中回调使用,在block回调时,我们就可以把那个Cell以及Cell中被点击的按钮传到TableViewController中啦,至于想深入的了解一下block回调,请参考前面的博客Objective-C

1.2K50

测试 View Controllers

Objective-C 中有个用来 mocking 的强大工具叫做 OCMock。它是一个非常成熟的项目,充分利用了 Objective-C 运行时强大的能力和灵活性。...这个上古神器从 1997 年起就伴随在 Objective-C 开发者左右,比第一款 iPhone 发布还早 10 年。现在,它已经集成到 Xcode 中了。...configuredObject, @"a", @"This should have been passed to the block."); [mockTableView verify]; STAssert宏测试的相等性...省略注入的如何工作的细节(它本身是个巨大的话题),简单地说:注入是把待注入的 bundle(我们的测试 bundle)中的 Objective-C添加到运行的应用程序中。...还有一件事会很让人迷惑,那就是如果我们同时把一个类添加到应用程序和测试 bundle中。

71920

【 iOS 应用开发 】 UIKit 控件 ( UIView 属性 | storyboard 设置 | 模拟器 | 拖线关联 | tag | 软键盘操作 | 颜色 | 代码生成控件 | 动画设置 )

Application, 即 创建一个只有一个 View 界面的 iOS 应用; 3.设置相关参数 : 设置 ① 应用名称 Caculater ② 组织名称 han ③ 组织标识 cn.han ④ 所使用的语言 Objective-C...9.UIActionSheet : 底部对话框 控件 ; 10.UIScrollView : 滚动 控件, 内容超出屏幕, 使用该控件处理; 11.UIPageControl : 分页 控件; 12.UITableView...UIProgressView 的 progress 属性代表其进度, UILabel 和 UITextField 的 text 属性 代表其文本内容; ② 共有属性 : 控件有些属性是共有的, 控件的...章节, 有创建应用的过程说明 ; ---- ( 2 ) 需求 ---- 需求 : 1.界面元素 : ① 两个 UITextField 控件, ② 三个 UILabel 控件, ③ 加法 按钮; 2.UITextField...类型为 float 类型; alpha 透明度设置为 1; 4.生成 0 ~ 1 之间的随机 : 这里先生成一个 0 ~ 254 之间的随机, 使用 C 语言的 arc4random_uniform

4.7K30

在SwiftUI中使用UIKit视图

在SwiftUI中使用UIKit视图 想获得更好的阅读体验可以访问我的博客www.fatbobman.com,或点击下方的阅读原文 已迈入第三个年头的SwiftUI相较诞生初始已经提供了更多的原生功能...本文将通过对UITextField的包装来讲解以下几点: •如何在SwiftUI中使用UIKit视图•如何让你的UIKit包装视图具有SwiftUI风格•在SwiftUI使用UIKit视图需要注意的地方...尽管我们声明了一个Binding类型的text,并且在makeUIView中将其赋值给了textfield,不过UITextField并不会将我们录入的内容自动回传给Binding<String...通过环境来设置是一种十分便捷的方式,唯一需要注意的是,它会改变链式结构的返回。...font 我们也可以自己创建环境来实现对TextFieldWrapper的配置。比如,SwiftUI提供的font环境的类型为Font,本例中我们将创建一个针对UIFont的环境设定。

8.2K22

iOS 面试策略之语言工具-Objective-C

Objective-C 是苹果为 iOS 和 Mac 开发量身定制的语言。它随着 iPhone 的出现而大火,直到今天国内外大多数的 App 依然是用 Objective-C 在写。...[1240] Objective-C 一度在 TIOBE 排行榜上位列第 3 名,仅次于 Java 和 C。其市场占有份额也远超其他语言。...看名字我们可以知道,它与 C 语言有千丝万缕的联系,事实上也确实如此:Objective-CC 语言的超集,它在 C 语言主体上加上了面向对象的特性。...现在的面试中,传统大厂 BAT 对 Objective-C 的语言进行较多考察,日常开发也是以 Objective-C 为主。...本章将探讨 Objective-C 的基本语言特性,其动态特性将与 Swift 比较中设计。 Objective-C 面试理论题 1.什么是 ARC?

66320

Ask Apple 2022 与 SwiftUI 有关的问答(上)

另外,.contextAction 支持多选。它还会回来吗?A:看一下上下文菜单修饰器( contextMenu )的 primaryAction 参数。...该 API 也有一个 forSelectionType 参数,支持多选。在 SwiftUI 4.0 中,contextMenu 的功能获得了不小的提高。...对于非惰性视图( LazyVStack ),一旦 hosting controller 的视图被初始化,onAppear 将被调用。...如何改善一个包含大量 UITextField 的视图效率Q:我有一个包含 132 个 UITextField 的 SwiftUI 视图。我知道这个数量很大,但这是由业务逻辑决定的。...A:如果你在 iOS 上使用 UITextField 遇到性能问题,你可以尝试避免每个视图都是 UITextField ,默认渲染为 Text ,当文本被点击时动态切换为 UITextField

12.2K20
领券