iOS开发 怎么删除UICollectionView的cell

iOS开发 怎么删除UICollectionView的cell,第1张

在使用UICollectionView时,需要插入、删除UICollectionViewCell。这时候就会遇到Crash,各种问题不断出现。想解决问题是Xcode报错原因又不明确,要怎么做才好呢。根据我个人经验,我把我的实现写出来,实现选中添加一个数据,长按删除一个数据。

创建数组。要求是NSMutableArray类型的全局变量属性。

注1:可变数组容易实现增删 *** 作,命名为:_dataArray。

注2:长按手势需要添加代理UIGestureRecognizerDelegate。

iOS开发 怎么删除UICollectionView的cell

对_dataArray赋值或初始化。如图:

注:对于方式一,不建议使用本身类型不相同,也没有对_dataArray进行初始化,当需要删除数组时会Crash。通常使用方法二。

实现点击Cell插入新数据

1、找到并写出UICollectionView自身的代理方法:didSelectItemAtIndexPath;

2、获取被点击的NSIndexPath;

3、将NSIndexPath转换成数组;

4、调用insertItemsAtIndexPaths方法插入数据。

实现长按Cell删除数据

1、在cellForItemAtIndexPath创建并初始化长按手势;

2、设置长按时间为10秒触发;

3、添加手势代理delegate = self;

4、设置标识viewtag = indexPathrow。

实现长按Cell删除数据

1、实现手势监听事件方法handlelongPress:;

2、区分手势动作,开始触发和结束触发 *** 作,选其一实现,否则会调用两次;

3、根据recognizer手势传递的viewtag值删除数组;

4、将recognizerviewtag转换为NSIndexPath型,再转换为NSArray型;

5、调用deleteItemsAtIndexPaths方法删除数据。

解决问题:

1、当_dataArray是使用方法一直接赋值时,删除会有可能导致程序崩溃;

2、当删除到最后一个时,在调用deleteItemsAtIndexPaths会崩溃;

3、当使用手势时,获取的数组下标有误,会超出数组大小。

在ios开发的过程中,经常需要使数组中的数据倒叙排列!比如在tableView显示数据的时候需要使数据倒序排列!那么如何解决数组的倒序排列问题呢?好多开发的小伙伴可能是便利数组的下标来获取,但是这种方法如果数据很大的情况下程序体验度会降低 , 这里介绍一个方法,一句话便可以搞定数组的倒序排序问题!

sortedArrayUsingSelector

按Key值大小对NSDictionary排序

sortedArrayUsingSelector

sortedArrayUsingComparator

sortedArrayUsingDescriptors & sortUsingDescriptors

前者带返回值,是NSArray的方法,排好序的数组是返回值中的数组;

后者不带返回值,是NSMutableArray的方法,是对当前数组自己排序

接下来根据一个对象的属性,排列这个对象

h

m

排序方法的实现

这里的NSArray中的第一元素表示首先按照这个元素的升序或者降序进行排序,对于有重复项的,再按照第二元素进行排序,依次进行类推

转自: >

Systemoutprintln(“我是java的打印”);

在Object-C 则如此:

打印一个NSString:

NSString str = @”我是OBject-C数据”;

NSLog(@“打印数据了% @”,str);

NSLog的格式如下所示:

%@ 对象

%d, %i 整数

%u 无符整形

%f 浮点/双字

%x, %X 二进制整数

%o 八进制整数

%zu size_t%p 指针

%e 浮点/双字 (科学计算)

%g 浮点/双字

%s C 字符串

%s Pascal字符串

%c 字符

%C unicha

r%lld 64位长整数

(long long)%llu 无符64位长整数

%Lf 64位双字

<3>下面说说数组,很常用的数组

//初始化不可变数组,切记初始化后不可以改变的数组

NSArray mArray =[[NSArray alloc] initWithObjects:

@"雨松MOMO",

@"15810463139",

@"xuanyusong@gmailcom",

self,nil];

//可以改变的数组

NSMutableArray nsma = mArray ;//这里我们直接的赋值;

下面注意的是对数组的遍历,如同java里面一样有一种简单的遍历数组的方法:

遍历方法一:

For(int i = 0; i < nsmacount; i++ ){

NSString temp = [nsma objectAtIndex:i];//这里便是拿出来没一个数据

}

遍历方法二:

//objective-c 20 引入的快速枚举法 不仅速度快 并且安全性高,推荐使用这种方式来遍历

for (NSString str in nsma) {

NSLog(@"固定数组 %@", str);

}

NSMutableArray是一个可以改变数据的数组,提供了两种方法:

addobject方法用于向数组中添加元素

//添加数组

- (void)addArray: (NSObject ) str

{

[mListArray addObject:str];

}

removeObject方法用于删除元素

//删除数组

-(void) deleteArray:(NSString )str

{

[mListArray removeObject:str];

}

replaceObjectAtIndex 方法可以修改数组中的某一个元素

//修改数组中的元素

-(void)changeArray:(int)ID:(NSObject ) str

{

[mListArray replaceObjectAtIndex:ID withObject:str];

}

insertObject方法用于向数组中插入一个元素

//向数组中插入一个元素

-(void)insertArray:(int)ID:(NSObject ) str

{

[mListArray insertObject:str atIndex:ID];

}

以上就是关于iOS开发 怎么删除UICollectionView的cell全部的内容,包括:iOS开发 怎么删除UICollectionView的cell、[iOS功能]- iOS数组排序(倒叙 生序 降序)、ios 怎么获得数组中的数组元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9325517.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存