- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
这是我的代码(来自 Core Data 教程):
[eventsArray insertObject:event atIndex:0];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];
第三行抛出异常:
2011-05-12 13:13:33.740 Locations[8332:207] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSMutableArray objectAtIndex:]: index 0 beyond bounds for empty array'
*** Call stack at first throw:
(
0 CoreFoundation 0x010145a9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x01168313 objc_exception_throw + 44
2 CoreFoundation 0x0100a0a5 -[__NSArrayM objectAtIndex:] + 261
3 UIKit 0x0010d5b3 -[UITableView(_UITableViewPrivate) _endCellAnimationsWithContext:] + 6156
4 UIKit 0x000fcd36 -[UITableView insertRowsAtIndexPaths:withRowAnimation:] + 56
5 Locations 0x00003462 -[RootViewController addEvent] + 690
我是 iPhone 开发的新手,我不明白这是什么意思。我在 tableView 的零索引处插入,所以我不知道为什么它不能使用空数组。请向我澄清这一点
eventsArray 是我从中填充 TableView 的数组(可能。至少它在 cellForRowAtIndexPath
中使用)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// A date formatter for the time stamp.
static NSDateFormatter *dateFormatter = nil;
if (dateFormatter == nil) {
dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
}
// A number formatter for the latitude and longitude.
static NSNumberFormatter *numberFormatter = nil;
if (numberFormatter == nil) {
numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter setMaximumFractionDigits:3];
}
static NSString *CellIdentifier = @"Cell";
// Dequeue or create a new cell.
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
Event *event = (Event *)[eventsArray objectAtIndex:indexPath.row];
cell.textLabel.text = [dateFormatter stringFromDate:[event creationDate]];
NSString *string = [NSString stringWithFormat:@"%@, %@",
[numberFormatter stringFromNumber:[event latitude]],
[numberFormatter stringFromNumber:[event longitude]]];
cell.detailTextLabel.text = string;
return cell;
}
最佳答案
遇到了同样的问题。只需要告诉 tableview 它也有 1 个部分要添加。如果您不更新它,它默认为 0。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}
关于objective-c - insertRowsAtIndexPaths :withAnimation: throws NSRangeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5975932/
我注意到使用 swiftUI 的 withAnimation{} 的 XCode 有一个奇怪的行为。 我创建了以下工作示例: import SwiftUI class Block: Hashable,
我想要一个仅在有条件的情况下可见的动画 View 。当我这样做时,我会出现不可预测的行为。特别是,在以下情况下,我希望在 onAppear 中调用一个永远重复的动画,无论它在何时何地初始化,它总是可以
我有一个基于某些状态的 swiftUI 动画: withAnimation(.linear(duration: 0.1)) { self.someState = newState } 上述动画
我在研究 Swift UI 的线性动画技术时发现,与我的预期相反,增加持续时间似乎并没有使动画发生得更慢。这是故意的吗?如果是这样,我该如何制作较慢的动画? 示例代码: struct ButtonVi
我有一个包含多个部分的 UITableView,部分的数量是动态的,也就是说,它们可以随时增加。在 TableView 上重新加载带有动画的部分,其中部分的数量没什么大不了的。我只是这样称呼: [no
我的目标是在将对象添加到@State 事件数组时控制动画类型。 withAnimation 仅在第一次附加到事件数组时发生。然后在附加追加时忽略它。 我目前正在 Xcode 11 beta 4 上运行
我有一个带有可拖动组件(“弹性”文本)的屏幕,当释放时会弹回一个非常突出的 Spring 动画。 有些文本是异步传入的(在本例中,使用 Timer),我希望它能够很好地淡入,同时 Springy 标签
比方说,我有一个像这样的简单个人资料屏幕: class Model: ObservableObject { @Published var isSignedIn = false
我收到了这个警告: 'UIView' may not respond to 'addSubview:withAnimation:' 产生该警告的代码行是这样的: [self.masterView ad
这是我的代码(来自 Core Data 教程): [eventsArray insertObject:event atIndex:0]; NSIndexPath *indexPath = [NSInd
我正在构建一个动画进度按钮,它显示下载进度,然后在下载完成后展开以显示按钮文本(有点像 App Store 按钮)。 我有一个自定义按钮 View ,它采用 @Binding 到外部进度 CGFloa
我看到在 iOS 9 中,setStatusBarHidden(_:withAnimation:) 现在已被弃用,文档说使用 [UIViewController prefersStatusBarHid
我有一个隐藏了状态栏的应用程序。在主视图中,我使用 UIButtons 加载 subview View 。出于某种原因, subview 显示时带有隐藏的状态栏,但是,UI View 不会为此进行调整
我的 Root View Controller 中有代码观察 -[UIApplication sharedApplication] 的 @"statusBarHidden" 属性并调整其 View 的
我是一名优秀的程序员,十分优秀!