- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以目前我正在尝试保存 indexPath 并访问它,但我一直收到 EXC_BAD_ACCESS 错误,当我在 xcode 中使用分析工具时,它说在初始化期间存储到我的 indexPath 的值永远不会被读取。任何人都可以帮助并告诉我这里出了什么问题吗?
设置indexPath的方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSURL *requestURL = [[NSURL alloc] initWithString:@"URL"];
//The request
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:requestURL];
request.userInfo = [NSDictionary dictionaryWithObjectsAndKeys:indexPath,@"indexPath", nil];
[request setDelegate:self];
[request startAsynchronous];
[requestURL release];
[request release];
}
获取indexPath的方法:
-(void)requestFinished:(ASIHTTPRequest *)request{
UIImage *foodImage = [[UIImage alloc] initWithData:[request responseData]];
NSIndexPath *indexPath = [request.userInfo objectForKey:@"indexPath"];
FoodDescription *detailViewController = [[FoodDescription alloc] initWithNibName:@"FoodDescription" bundle:nil];
// pass the food
detailViewController.aFood = [[NSMutableDictionary alloc] initWithDictionary:[_foodArray objectAtIndex:indexPath.row]];
detailViewController.foodPicture = foodImage;
detailViewController.restaurantName = _restaurantName;
// Pass the selected object to the new view controller.
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
}
最佳答案
你正在分配一个 NSIndexPath,然后你用你的下一条语句覆盖它。更糟糕的是,您泄露了在第一条语句中分配的内存。这可能是静态分析器所关注的。导致崩溃的原因是您试图释放覆盖第一条语句中的对象的对象。由于它已经自动发布,这将导致崩溃。
只需使用:
NSIndexPath *indexPath = [request.userInfo objectForKey:@"indexPath"];
并删除发布声明。你应该很好。
关于objective-c - NSIndexPath 的内存管理问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10067183/
Cannot convert value of type 'NSIndexPath' to expected argument type 'NSIndexPath' 错误在 self.collecti
有人知道 NSIndexpath.row 和 NSIndexpath.item 之间的区别吗? 具体来说,我使用哪一个: -(UITableViewCell *)tableView:(UITableV
有谁知道 NSIndexpath.row 和 NSIndexpath.item 的区别? 具体来说,我用在哪一个: -(UITableViewCell *)tableView:(UITableView
我想使用deleteRowsAtIndexPaths从tableView中删除一行,我用来获取特定行的NSIndexPath的代码如下: let pointInTable: CGPoint =
Apple's multithreading docs不要将 NSIndexPath 列为线程安全与否!作为一个不可变的类,我通常希望它是线程安全的。 以前,我确信文档用于声明 NSIndexPath
我的应用程序研究即将完成。我需要能够学习如何做的最后一件事是以下情况:假设我已经创建了一个 UItableview 钻取应用程序,但是一旦用户到达该钻取的末尾(他们对特定狗产品的选择)实例现在非常具体
所以我一直在四处搜索,似乎大多数人认为以下列方式递增 indexPath 是正确的方法: NSIndexPath *newIndexPath = [NSIndexPath indexPathForRo
我之前从 uitableview 获得了 NSIndexPath,但我不确定为什么这对 collectionview 不起作用?任何帮助将不胜感激! 这是我需要修复的代码: NSIndexPath *
在我的 TableView 中,有 4 个部分,第一部分有 3 行,第二部分有 2 行,第三部分有 2 行,第四部分有 1 行。 按下时如何引用这些行?这是我目前使用的代码。请帮忙 override
必须使用 map、filter、reduce 和其他 friend 以一种更具表现力的方式来做到这一点。 背景: categories 属性是一个 [Category]?,其中每个元素都有一个类型为
我正在寻找一种方法来测试索引路径是否相等,我所说的相等是指每个级别都相等吗?我试过 compare: 但它似乎不起作用,与 NSOrderedSame 比较时我总是得到 true,即使索引肯定不一样。
NSIndexPath 的具体工作是什么,我的理解是,IndexPath 变量用于引用我们要显示的单元格?:o?但它存储了什么值(value)?我是说。,设置 indexPath 变量的内部过程是什么
这将是一件非常愚蠢的事情,但我的 cellForRowAtIndexPath 中有这段代码: if ([self.indexPathSelected compare:indexPath] == NSO
我有一个 NSMutableArray包含 NSIndexPath对象,我想按它们的 row 对它们进行排序, 升序。 最短/最简单的方法是什么? 这是我尝试过的: [self.selectedInd
在我的应用程序中,我有一个 TableView Controller ,它使用 .plist 文件中的部分构建一个表。每个单元格都是唯一的,因为它基于为 plist 文件中的每个项目存储的 ID 参数
如果我有一个值为:{ 0, 0} 的索引路径。将其更改为 { 0, 1} 的正确方法是什么?我知道如果它是一个普通的 c 数组,它就会是: unsigned i_array[] = { 0, 0};
在 commitEditingStyle tableView 方法中,“.row”属性不适用于 NSIndexPath。有什么想法吗? 这是调用 - (void)tableView:(UITableV
我用UITableView做了一个简单的演示:当选择一个单元格时,在单元格中显示一个勾号,最后选定的单元格将被取消勾号,当在模拟器中运行时,选择时很好第一次选择一个单元格,而如果选择另一个单元格,应用
我正在尝试将记录动态添加到已填充的 UITable 中。在我的 UITableView 类中,我有一个自定义 List 对象 List _data=new List(); 我从网络服务调用中添加记录,
我正在使用 Collection View 来显示从服务器接收的数据。返回的 json 预订数组如下所示: [ { "id": 13644766, "check
我是一名优秀的程序员,十分优秀!