cellForRowAtIndexPath:尝试访问数组 objectAtIndex:indexPath.row 时崩溃

2023-12-12

我正在将数据加载到UITableView,从一个习惯UITableViewCell(自己的班级和笔尖)。它工作得很好,直到我尝试访问objectAtIndex:indexPath.row对于一些数组。

我先发布我的代码,这样你可能会更容易理解我的意思。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"CustomCell";
    CustomCell *cell = (CustomCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil){
        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
        for (id currentObject in topLevelObjects){
            if ([currentObject isKindOfClass:[CustomCell class]]){
                cell = (CustomCell *) currentObject;
                break;
            }
        }
    }
    // Configure the cell...
    NSUInteger row = indexPath.row;
    cell.titleLabel.text = [postsArrayTitle objectAtIndex:indexPath.row];
    cell.dateLabel.text = [postsArrayDate objectAtIndex:indexPath.row];
    cell.cellImage.image = [UIImage imageWithContentsOfFile:[postsArrayImgSrc objectAtIndex:indexPath.row]];

    return cell;
}

奇怪的是,当它加载到前三个单元格(它们高 130px)时它确实可以工作,但是当我尝试向下滚动时它会崩溃。 (也就是说,日志在崩溃之前显示三个数字,0, 1, 2)

因此,作为总结,objectAtIndex:indexPath.row成功运行 3*3 次,但是当我尝试在应用程序中向下滚动并加载新单元格时,应用程序崩溃并出现以下错误:

2010-05-30 14:00:43.122 app[2582:207] -[NSCFString objectAtIndex:]: unrecognized selector sent to instance 0x5a44bf0
2010-05-30 14:00:43.124 app[2582:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCFString objectAtIndex:]: unrecognized selector sent to instance 0x5a44bf0'
// Stack
    0   CoreFoundation                   0x02398c99 __exceptionPreprocess + 185
    1   libobjc.A.dylib                     0x024e65de objc_exception_throw + 47
    2   CoreFoundation                  0x0239a7ab -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
    3   CoreFoundation                  0x0230a496 ___forwarding___ + 966
    4   CoreFoundation                  0x0230a052 _CF_forwarding_prep_0 + 50
    5   myappname                        0x00002ab1 -[HomeTableViewController tableView:cellForRowAtIndexPath:] + 605

有关阵列的附加信息:

数组创建于.h file:

NSArray *postsArrayDate;
NSArray *postsArrayTitle;
NSArray *postsArrayComments;
NSArray *postsArrayImgSrc;

并填写了viewDidLoad::

NSURL *urlPosts = [NSURL URLWithString:@"http://mysite/myphpfile.php?posts=2"]; //returns data in this format: DATA1#Data1.1#data1.2~DATA2#data2.1#~ and so on.
NSError *lookupError = nil;
NSString *data = [[NSString alloc] initWithContentsOfURL:urlPosts encoding:NSUTF8StringEncoding error:&lookupError];
postsData = [data componentsSeparatedByString:@"~"];
[data release], data = nil;
urlPosts = nil;
postsArrayDate = [[postsData objectAtIndex:2] componentsSeparatedByString:@"#"];
postsArrayTitle = [[postsData objectAtIndex:3] componentsSeparatedByString:@"#"];
postsArrayComments = [[postsData objectAtIndex:4] componentsSeparatedByString:@"#"];
postsArrayImgSrc = [[postsData objectAtIndex:5] componentsSeparatedByString:@"#"];

我该如何修复这个崩溃?


** 我有同样的问题,解决“自我”。数组修复了它。 **


The NSArray was only representing the singular instance of the "ObjectAtIndex:#" which ultimately was being treated as a NSString. When creating the NSArray, I created tempArray, filled it with objects, set it equal to MyArray, the released tempArray. But setting it equal to "MyArray = tempArray;" failed. Required to address the array OBJECT with "self.MyArray = tempArray;" which works 100% !!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cellForRowAtIndexPath:尝试访问数组 objectAtIndex:indexPath.row 时崩溃 的相关文章

  • 将自己的结构传递到 opengl es 2.0 着色器中

    我想尝试 OpenGL ES 2 0 编程指南 一书中的照明示例 在着色器中他们制作了两种结构 struct directional light vec3 direction normalized light direction in ey
  • 如何恢复消耗品应用内购买?

    我正在开发一款 iOS 游戏 用户可以通过应用内消耗品购买一定数量的内部货币 比如 1000 金币 如果用户想将余额从一台设备转移到另一台设备 如何恢复消耗品购买 在苹果的文档中 它说我们必须使用我们自己的服务器 但是如何获取用户的Appl
  • 进入前台后刷新数据

    更改默认设置后 我想在AppDelegate中进入前台时刷新myViewController的数据 我所做的是 AppDelegate m void applicationDidFinishLaunching UIApplication a
  • 关于窗口层次结构的警告

    我的调试器中出现这样的警告 这是什么意思 Warning Attempt to present
  • 个人帐户开发者之间的 Apple 开发/分发证书

    我一直在到处寻找有关处理证书的正确答案 想象一下以下帐户 Joe拥有个人 Apple 帐户 但他根本不会编码 他只是发布了该应用程序并将其称为自己的 Bob还有一个个人 Apple 帐户 Bob 是一位编码专家 Joe 付费让他开发他的第一
  • 应用内购买产品禁用“提交审核”

    基于此处提到的所有步骤http troybrant net blog 2010 01 in app purchases a full walkthrough http troybrant net blog 2010 01 in app pu
  • 来自 iPhone/iPad 的 json Web 服务

    有人可以帮助我解决如何从 iphone 或 ipad 使用 json Web 服务的问题吗 这里我的要求是使用 API 密钥实现 json webservice 如果可能的话发布一些教程或示例链接 谢谢 规范的 JSON 处理库是here
  • ui 测试 xcode,如何使用 cellquery 点击表视图单元格按钮

    我目前正在为我的应用程序进行 ui 测试 并一直点击我的应用程序的登录按钮 我无法找到我提供了标识符注册按钮的元素 该元素是索引中的第三个 这不是问题 let cellQuery self app tables cells element
  • 核心数据 NSFetchRequest 还获取实体的子对象

    我是 iOS 开发和 Core Data 的新手 我有一个父 NSManagedObject class Units interface Properties NSManagedObject property nonatomic retai
  • 奇怪的 UITableView 插入/删除行动画

    在带有动画 UITableView RowAnimationTop 的 UITableView 中插入 删除 UITableViewCell 时 我看到了奇怪的效果 当要插入的单元格比上面的单元格大得多时 就会发生动画故障 显示模拟器中的故
  • 具有自动布局的 UITableViewCell 中的 UILabel 高度错误

    我有一个UITableView单元格的固定高度为 100 点 这些单元格是在 xib 文件中创建的 该文件使用 3 个约束来固定UILabel到单元格的左 右和上边缘contentView 标签的垂直拥抱优先级设置为 1000 因为我希望单
  • iphone:在 UIWebView 之上查看?

    我正在开发一个浏览器应用程序 并且 UIWebView 顶部有一个地址栏 在 MobileSafari 上 如果向下滚动 地址栏开始移动到顶部 移出屏幕 并且 UIWebView 不会滚动 只有当地址栏完全消失时 它才开始滚动 我也想在我的
  • 如何在 ios 7 上更改重新排序控制图像

    我正在寻找一种更改重新排序控件图像和大小的方法 我使用此代码来更改重新排序图像 void tableView UITableView tableView willDisplayCell UITableViewCell cell forRow
  • 多次添加同一个子视图来查看

    我不知道这是否可行 但我想做的是将子视图多次添加到视图中 我尝试过这样的事情 self view addSubview newView newView center CGPointMake 160 100 self view addSubv
  • GMSMapView 中的倒多边形

    我必须在我的 iPhone 项目中使用 Google 地图 并且我正在使用 GMSPolygon 来绘制多边形 但是如何填充地图上除多边形内部之外的所有位置 就像下图一样 谢谢 我玩过你的问题 主要思想是用多边形填充整个地球 然后为您的特定
  • 如何在 Apple Watch Extension/App 和 iOS App 之间建立通信通道

    我正在探索 WatchKit SDK 当我有 WatchKit 应用程序时 是否可以在 WatchKit 应用程序上从 iPhone 应用程序设置值 例如文本 设置 我可以从 iPhone 应用程序调用 WatchKit 应用程序扩展中的函
  • 为什么 Xcode 4 不会对我未完整实现 UITableViewDataSource 协议发出警告?

    如果我在 Xcode 中使用以下代码声明并不完全实现我自己的协议 一些协议 h protocol SomeProtocol
  • PresentModalViewController 不执行任何操作

    我有一个 UIViewController parent 调用presentModalViewController与另一个 UIViewController child on viewDidLoad If parent没有 UINaviga
  • UISearchController 保留问题

    我正在尝试使用 UISearchController 但是我遇到了无法解决的保留问题 MainTableview 有两个部分 第1节 基于某些正则表达式过滤数据 第2节 All Data 我将 UISearchController 添加到我
  • 对使用phonegap和钛的质疑[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 最近我听说了 PhoneGap 和 Titanium 移动网络应用程序的开发 我分析了这两个 Web 应用程序 并了解了如何使用它们以

随机推荐

  • 使用随时间变化的任意布尔条件过滤 Touch.FrameReported IObservable

    我一直在尝试 Windows Phone 7 中的响应式扩展 RX 并且非常接近可行的解决方案 但遇到了一个小细节 我正在尝试使用处理原始触摸事件Touch Frame报告 and Observable FromEvent 有点教育追求 更
  • dagger2 和 kotlin 的 Android 单元测试问题

    我试图在 android 的测试文件夹中创建一个 dagger 组件接口 但是在 Dagger 完成生成的类后 它显示错误 无法访问 TestComponent 它是 com example animals di DaggerTestApp
  • 如何创建winform登录对话框并保持循环

    创建一个登录表单 如果凭据正确 该登录表单将进入主表单 这是基本的伪代码 ShowLoginForm if DialogResult OK CheckCredentials if credentials VALID ShowMainForm
  • CSV 文件未在 WordPress 中上传

    我无法在 WordPress 网站上上传 CSV 文件 错误 抱歉 出于安全原因不允许使用此文件类型 检查下图 网站链接 我相信 错误中清楚地提到了所有内容 并且您也强调了这一点 出于安全原因不允许使用此文件类型 要解决此问题 请在 wp
  • 有什么方法可以跟踪 proc 宏中发生错误的位置吗?

    我正在实现一个 proc 宏 并在另一个板条箱中进行测试 当我编译客户端包时 proc 宏的调用站点抛出错误 error proc macro panicked gt foo src main rs 17 1 该错误发生在 proc 宏实现
  • 基于上下文的实体框架的不同连接字符串

    我有一个使用实体框架的 Web 表单应用程序 该应用程序部署在开发盒 我的本地计算机和生产盒上 其中每个都有不同的连接字符串 处理这个问题的最佳方法是什么 我使用 TFS 构建服务器部署到开发环境 并将构建结果压缩并手动将其复制到生产环境
  • 如何在 MapView 上创建动态编号的 Pin 指针?

    我想在我的设备上显示一些位置MapView 这些位置将显示具有数字 1 2 3 等的图钉 类似于 Google 地图结果 但它是 A B C 我认为拥有所有数字的引脚是不可行的 有什么方法可以让我创建一个带有 pin 背景的布局TextVi
  • python multiprocess.Pool 在标准输出中按顺序显示结果

    在 multiprocessing Pool 中 我试图以相同的顺序显示我的打印结果 from multiprocessing import Pool import time def func arg time sleep 0 001 pr
  • 尝试提供 Meteor 应用程序时出现“babel-runtime”错误

    我最近开始使用 Meteor 和 React 我跟着tutorial在 Meteor 网站上没有问题 然后我尝试创建另一个项目 尝试遵循另一个项目tutorial 对于旧版本的 Meteor 在这个过程中 Meteor 开始抛出一些难以理解
  • 如何使用项目反应器实现调用重复,直到满足特定条件?

    有没有什么方法可以使用项目反应器来做这样的事情 fetchSystemUpdates return Mono
  • 过滤 IQueryable 子列表

    使用实体框架 但这可能无关紧要 如果我有一个 Iqueryable 如何过 滤子列表并使其保持 IQueryable 这样它就不会到达数据库 如果我有 10 个项目 每个项目有 3 个子项目 如何过滤它以便返回所有 10 个项目 并且它们的
  • IE9 中简单模式的问题

    昨天我推出了一个新网站 在将文件上传到服务器之前 我在 IE8 Firefox Safari 和 Chrome 中测试了该网站 一切似乎都正常 但我刚刚安装了IE9简单模态此浏览器中不显示框 我正在使用以下 JavaScript 代码 jQ
  • 用于过滤 Google 表格中具有最高值的唯一行的公式

    我有一张工作表 可以每天多次自动从多个帐户中提取社交指标 因此我经常有同一个帖子的多行数据 如何过滤新工作表中的行 以便每个唯一帖子仅保留展示次数最高 G 列 的帖子 ID F 列 我想要的过滤结果 我已经探索了查询 不是我的强项 和过滤公
  • ASP.NET MVC 中的 Cookie 管理

    我想在 ASP net MVC 中向 cookie 添加一些内容 处理 cookie 或更多 cookie 中所有内容的最佳方法是什么 在asp net mvc中处理cookie有什么好方法吗 这是一个例子 public class Hom
  • 日期范围 Google 图表工具

    我正在尝试使用 Google Charts 在折线图上显示数据 数据显示正常 但我想设置要显示的日期范围 数据以 JSON 文字格式从数据库发送 cols label Week type date label Speed type numb
  • GWT Cell树,如何使用?

    有人可以解释一下如何使用 GWT 单元树吗 我正在尝试谷歌搜索 但没有找到任何有价值的教程 Thanks Try 谷歌示例 1 包括 onModuleLoad 方法
  • 在 Windows XP 下运行 Python 二进制文件

    我将 PySide 应用程序编译为 x32 和 x64 模式 并且它可以在 Windows 7 下工作 但是我发现该应用程序无法在Windows XP下启动 我应该在规范文件中另外使用一些技巧吗 当前的 PyInstaller 脚本在 ap
  • 如何在Excel中使用VBA截断数字而不是四舍五入?

    我需要创建一个表 操作员可以在其中输入数字 这是受保护的工作表 因此操作员无法更改任何内容 他们只能在特定单元格中输入数字 适用于 Mac 的 Microsoft 365 我需要 Excel 显示 2 位小数而不进行四舍五入 例如 对于 3
  • 涉及填充位置的广播问题

    介绍 我有一个函数func这是可矢量化的 我使用它对其进行矢量化np frompyfunc 而不是使用嵌套for循环 我只想调用它一次 因此我需要用以下内容填充输入np newaxis s 我的目标是摆脱两个嵌套for循环并使用numpy
  • cellForRowAtIndexPath:尝试访问数组 objectAtIndex:indexPath.row 时崩溃

    我正在将数据加载到UITableView 从一个习惯UITableViewCell 自己的班级和笔尖 它工作得很好 直到我尝试访问objectAtIndex indexPath row对于一些数组 我先发布我的代码 这样你可能会更容易理解我