gpt4 book ai didi

ios - CollectionViewCell 无法识别的选择器发送到实例

转载 作者:行者123 更新时间:2023-12-01 17:19:20 25 4
gpt4 key购买 nike

在我的应用程序中,我将使用 Collection View ,但我遇到了问题。我在 Storyboard中设计了 Collection View 。我在 View Controller 中插入了一个 Collection View ,并将委托(delegate)和数据源连接到必须管理此 View Controller 的类 (CategoryViewController.m)。
我创建了一个非常简单的单元格,在其中放置了一个 ImageView ,然后创建了一个带有子类 UICollectionViewCell 的类,然后我选择管理单元格的类并将 ImageView 连接到该类。
CategoryViewController.m我设置了一个数组,其中有我想要显示的图像,我使用了 UICollectionView 的委托(delegate)方法,当我运行应用程序时它说我:unrecognized selector sent to instance .我会将代码放在这里,以便您帮助我修复它:

创建图像数组的代码:

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
UIImage *image1 = [UIImage imageNamed:@"image_glasses.png"];
UIImage *image2 = [UIImage imageNamed:@"image_jacket.png"];
UIImage *image3 = [UIImage imageNamed:@"image_pants.png"];
UIImage *image4 = [UIImage imageNamed:@"image_scent.png"];
imageArray = [NSArray arrayWithObjects:image1, image2, image3, image4, nil];
}

UICollectionView 的委托(delegate)方法:
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return imageArray.count;
}

- (UICollectionViewCell*)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
CustomCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];

UIImage *image = [UIImage imageNamed:imageArray[indexPath.row]];
cell.imageViewCell.image = image;

return cell;
}

当我运行该应用程序时,它会在此处崩溃: UIImage *image = [UIImage imageNamed:imageArray[indexPath.row]]; ,我的方法有什么问题?

更新:

这是完整的崩溃日志:
2013-11-27 10:54:34.853 BitmamaShop[1579:70b] -[UIImage stringByDeletingPathExtension]: unrecognized selector sent to instance 0xbe79910
2013-11-27 10:54:34.858 BitmamaShop[1579:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIImage stringByDeletingPathExtension]: unrecognized selector sent to instance 0xbe79910'
*** First throw call stack:
(
0 CoreFoundation 0x025445e4 __exceptionPreprocess + 180
1 libobjc.A.dylib 0x022c78b6 objc_exception_throw + 44
2 CoreFoundation 0x025e1903 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275
3 CoreFoundation 0x0253490b ___forwarding___ + 1019
4 CoreFoundation 0x025344ee _CF_forwarding_prep_0 + 14
5 UIKit 0x01687d65 -[_UIAssetManager imageNamed:scale:idiom:subtype:cachingOptions:] + 42
6 UIKit 0x016880c2 -[_UIAssetManager imageNamed:scale:idiom:subtype:] + 73
7 UIKit 0x0168810e -[_UIAssetManager imageNamed:idiom:subtype:] + 71
8 UIKit 0x0168814f -[_UIAssetManager imageNamed:idiom:] + 60
9 UIKit 0x01688189 -[_UIAssetManager imageNamed:] + 53
10 UIKit 0x01062173 +[UIImage imageNamed:] + 57
11 BitmamaShop 0x0000794f -[CategoryViewController collectionView:cellForItemAtIndexPath:] + 255
12 UIKit 0x01647bc8 -[UICollectionView _createPreparedCellForItemAtIndexPath:withLayoutAttributes:applyAttributes:] + 257
13 UIKit 0x01649217 -[UICollectionView _updateVisibleCellsNow:] + 3677
14 UIKit 0x0164c57f -[UICollectionView layoutSubviews] + 267
15 UIKit 0x010a0267 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 355
16 libobjc.A.dylib 0x022d981f -[NSObject performSelector:withObject:] + 70
17 QuartzCore 0x00d022ea -[CALayer layoutSublayers] + 148
18 QuartzCore 0x00cf60d4 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 380
19 QuartzCore 0x00d04715 -[CALayer(CALayerPrivate) layoutBelowIfNeeded] + 43
20 UIKit 0x01092c76 -[UIView(Hierarchy) layoutBelowIfNeeded] + 595
21 UIKit 0x01092a1d -[UIView(Hierarchy) layoutIfNeeded] + 74
22 UIKit 0x0116ef14 -[UINavigationController _layoutViewController:] + 1062
23 UIKit 0x0116e136 -[UINavigationController _layoutTopViewController] + 176
24 UIKit 0x0116c365 -[UINavigationController navigationTransitionView:didEndTransition:fromView:toView:] + 429
25 UIKit 0x0135b5f6 -[UINavigationTransitionView _notifyDelegateTransitionDidStopWithContext:] + 328
26 UIKit 0x0135b8fb -[UINavigationTransitionView _cleanupTransition] + 703
27 UIKit 0x0135b93a -[UINavigationTransitionView _navigationTransitionDidStop] + 55
28 UIKit 0x01081c6c -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 267
29 UIKit 0x01080455 +[UIViewAnimationState popAnimationState] + 334
30 UIKit 0x01094cf6 +[UIView(Animation) commitAnimations] + 36
31 UIKit 0x0135b3f9 -[UINavigationTransitionView transition:fromView:toView:] + 2795
32 UIKit 0x0135a906 -[UINavigationTransitionView transition:toView:] + 55
33 UIKit 0x0116fd47 -[UINavigationController _startTransition:fromViewController:toViewController:] + 3186
34 UIKit 0x0117009c -[UINavigationController _startDeferredTransitionIfNeeded:] + 645
35 UIKit 0x01170cb9 -[UINavigationController __viewWillLayoutSubviews] + 57
36 UIKit 0x012aa181 -[UILayoutContainerView layoutSubviews] + 213
37 UIKit 0x010a0267 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 355
38 libobjc.A.dylib 0x022d981f -[NSObject performSelector:withObject:] + 70
39 QuartzCore 0x00d022ea -[CALayer layoutSublayers] + 148
40 QuartzCore 0x00cf60d4 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 380
41 QuartzCore 0x00cf5f40 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 26
42 QuartzCore 0x00c5dae6 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 294
43 QuartzCore 0x00c5ee71 _ZN2CA11Transaction6commitEv + 393
44 QuartzCore 0x00d1b430 +[CATransaction flush] + 52
45 UIKit 0x01051dc9 _afterCACommitHandler + 131
46 CoreFoundation 0x0250c4ce __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 30
47 CoreFoundation 0x0250c41f __CFRunLoopDoObservers + 399
48 CoreFoundation 0x024ea344 __CFRunLoopRun + 1076
49 CoreFoundation 0x024e9ac3 CFRunLoopRunSpecific + 467
50 CoreFoundation 0x024e98db CFRunLoopRunInMode + 123
51 GraphicsServices 0x02eef9e2 GSEventRunModal + 192
52 GraphicsServices 0x02eef809 GSEventRun + 104
53 UIKit 0x01035d3b UIApplicationMain + 1225
54 BitmamaShop 0x0005980d main + 141
55 libdyld.dylib 0x0484970d start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

最佳答案

您的 imageArray数组包含 UIImage对象。所以你可以直接使用它。而不是使用

UIImage *image = [UIImage imageNamed:imageArray[indexPath.row]]; 

采用
UIImage *image = imageArray[indexPath.row];

关于ios - CollectionViewCell 无法识别的选择器发送到实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20239106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com