gpt4 book ai didi

iphone - -[NSCFString objectAtIndex :]: unrecognized selector

转载 作者:行者123 更新时间:2023-12-03 20:20:36 27 4
gpt4 key购买 nike

我有一个小问题,在 Google 中找不到:UITableView 工作正常,直到我开始滚动。

Error Message: `-[NSCFString objectAtIndex:]: unrecognized selector  sent to instance 0x5f24870 `

方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:MyIdentifier] autorelease];
}
// Set up the cell
int storyIndex = [indexPath indexAtPosition: [indexPath length]-1];
//populate cell
cell.textLabel.text = [[myArray objectAtIndex: storyIndex] objectForKey: @"subject"];
return cell;
}

只是猜测这是“问题”方法......如果您需要更多信息:请告诉我:)感谢您的帮助!

编辑:myArray 只是普通的 NSArray *myArray这是一个已排序的数组 ->

   NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"lesson" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
myArray = [resultArray sortedArrayUsingDescriptors:sortDescriptors];

resultArray (NSMutableArray) 是 XML 解析器的结果..希望你能看到我的问题..

最佳答案

这意味着您正在向 NSString(或可能是 CFString)类型的对象发送 objectAtIndex: 消息。当然,您希望 myArray 是一个数组而不是字符串。

可能发生的情况是,您的数组被过早释放(几乎肯定是自动释放),并且当上面的方法被调用时,曾经myArray< 指向的内存 现在保存一个字符串。

响应您的编辑...

这一行:

myArray = [resultArray sortedArrayUsingDescriptors:sortDescriptors];

...不正确。该值是自动释放的。您需要保留它:

myArray = [[resultArray sortedArrayUsingDescriptors:sortDescriptors] retain];

记住在关闭 View 之前释放它!

关于iphone - -[NSCFString objectAtIndex :]: unrecognized selector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3960351/

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