Iphone Xcode Simulator падает, когда я двигаюсь вверх и вниз по строке таблицы - PullRequest
1 голос
/ 16 апреля 2010

Я не могу обойти это. Когда страница загружается, все работает отлично - я могу развернуть вверх и вниз, однако «поток» (в позиции, которую я выделил ниже) становится не равным чему-либо, когда я поднимаю и опускаю вид таблицы. Но ошибка только иногда. Обычно он возвращает ключ / пары.

Если вы знаете, вы можете понять выше, как вам тестировать пары // ключ / значение [(int) [$ VAR count]} в объекте NSMutableDictionary

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *FirstLevelCell = @"FirstLevelCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:FirstLevelCell];
    if(cell == nil)
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:FirstLevelCell] autorelease];
    }

    NSInteger row = [indexPath row];
    //NSDictionary *stream = (NSDictionary *) [dataList objectAtIndex:row];


    NSString *level = self.atLevel;
    if([level isEqualToString:@"level2"])
    {
        NSMutableDictionary *stream = [[NSMutableArray alloc] init];
        stream = (NSMutableDictionary *) [dataList objectAtIndex:row];

// значение потока (int) [$ VAR count]} пары ключ / значение

* +1007 *

Спасибо за ваше время

Ответы [ 2 ]

1 голос
/ 16 апреля 2010

Вы как утечка, так и чрезмерное освобождение словаря потоков:

NSMutableDictionary *stream = [[NSMutableArray alloc] init]; // <-- Create a new dictionary
stream = (NSMutableDictionary *) [dataList objectAtIndex:row]; // <-- Overwrite the reference with another dictionary. Previous dictionary is lost...

...

[stream release]; // <-- You are releasing an object you don't have the ownership.

Вы должны удалить создание словаря, так как оно бесполезно, и выпуск, поскольку вы не являетесь владельцем объекта.

0 голосов
/ 16 апреля 2010

Я не совсем понял вопрос, но ...

Вы можете проверить количество значений в словаре по:

if ([[myDictionary allKeys] count] == someNumber) {
    // do something...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...