Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Xavier
in god we trust
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
#1

Странная ошибка

06.02.2013, 00:15. Просмотров 562. Ответов 2
Метки нет (Все метки)

Всем доброго времени суток!

Возникла некая странная ошибка, я только понять не могу что и почему, но попробую объяснить в чем проблема
Начну пожалуй с того что попрошу вас скачать проект который я приложил. Попробуйте его запустить и далее следуйте таким действиям(так более понятно будет чем если я буду объяснять на словах):
1)выберете в таблице последний пункт "To Del"
2)нажмите "edit"
3)Затем сразу ничего больше не нажимая add, появится новый вьюв и вот тут то и проблема попробуйте отредактировать textField. У меня он не редактируется и я не могу понять от чего!!!!!!!!
Но еще не все тут есть подвох закройте приложение(выгрузите из памяти) и запустите заново проделайте тоже самое до пункта 2 а потом вместо нажатия add удалите любую строку а уже потом нажмите add и попробуйте отредактировать вот теперь она редактируется. WTF?) я не пойму что и от чего
Если у вас так же то подскажите плиз в чем может быть дело) Если у вас все нормально работает то извините за беспокойство значит у меня с икскодом возможно что то не так(
само приложение не закончено там много еще всего надо делать вы на это не смотрите. Главное тут то что я не могу понять почему при первом поялении *View с textField я не могу его редактировать и при том при всем что если сначала удалить строку а потому уже вызвать *view то тогда текст фиелд редактируется.
Спасибо за помощь и то что уделили хоть минуту вашего времени моей проблеме!

вот код
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#import <UIKit/UIKit.h>
#import "MYSecondViewController.h"//обычный UITableViewController + свойство image
@class DeleteViewController;
 
@interface DeleteMeController : MYSecondViewController<UIActionSheetDelegate>{
    NSMutableArray *list; //массив с данными для таблицы
    NSIndexPath *deleteRowIndex; //адрес текущей строки таблицы
    DeleteViewController *deleteViewController; //view который загружается в стек после нажатия кнопки add
   
}
@property(nonatomic,retain)DeleteViewController *deleteViewController;
@property(nonatomic,retain)NSMutableArray *list;
@property(nonatomic,retain)NSIndexPath *deleteRowIndex;
 
-(void)toggleDelete;//нажатие на кнопку edit
-(void)addButton;// нажатие на кнопку add
 
 
@end
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#import "DeleteMeController.h"
#import "DeleteViewController.h"
 
@implementation DeleteMeController
@synthesize deleteViewController;
@synthesize list;
@synthesize deleteRowIndex;
-(void)addButton{
    
    [self.navigationController pushViewController:deleteViewController animated:YES];
    //загрудаем в стек Navigation-a view
   
}
 
-(void)toggleDelete{
    [self.tableView setEditing:!self.tableView.editing animated:YES ];
    if(self.tableView.editing){
        [self.navigationItem.rightBarButtonItem setTitle:@"Done"];
        self.navigationItem.leftItemsSupplementBackButton=NO;
        UIBarButtonItem *addbutton=[[UIBarButtonItem alloc]initWithTitle:@"add" style:UIBarButtonItemStyleBordered target:self action:@selector(addButton)];
        self.navigationItem.leftBarButtonItem=addbutton;
        [addbutton release];
    }
    else{
        [self.navigationItem.rightBarButtonItem setTitle:@"Edit"];
        [self.navigationItem setLeftItemsSupplementBackButton:YES];
        [self.navigationItem setLeftBarButtonItem:nil animated:NO];
        /*при нажатии на кнопке edit разрешаем изменять таблицу и добавляем кнопку add
         не смотрите на [self.navigationItem setLeftItemsSupplementBackButton:YES]; наша таблица уже загружена в стек предыдущей таблицой, но она тут не причем, вся проблема в этих двух контроллерах
         */
    }
}
-(void)dealloc{
    [deleteRowIndex release];[list release];
    [deleteViewController release];
    [super dealloc];
}
 
 
-(void)viewDidLoad{
    deleteViewController=[[DeleteViewController alloc]initWithNibName:@"DeleteViewController" bundle:nil];
   
    deleteViewController.title=@"Add New String";
    if(self.list==nil){
        NSMutableArray *array=[[NSMutableArray alloc]initWithObjects:@"positively inclined",@"Requiem for a dream",@"return to sender",@"touch by touch",@"angels",@"all My Loving",@"Believe",@"Crawling",@"Toy Story",@"Toy Story 2",@"Monsters inc.",@"Cars",@"WALL-E",@"Cars 2",@"Up",@"Finding Nemo",@"Brave", nil];
        self.list=array;
        [array release];
    }
    
    UIBarButtonItem *buttonToDel=[[UIBarButtonItem alloc]initWithTitle:@"Edit" style:UIBarButtonItemStyleBordered target:self action:@selector(toggleDelete)];
    self.navigationItem.rightBarButtonItem=buttonToDel;
    [buttonToDel release];
    [super viewDidLoad]; // ну тут все стандартно
}
#pragma Table View Data Source Methods
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return [self.list count];
}
 
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *ID=@"DeleteMeID";
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:ID];
    if(cell==nil){
        cell=[[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID]autorelease];
        
    }
    NSInteger row=[indexPath row];
    cell.textLabel.text=[self.list objectAtIndex:row];
    return cell;
}
 
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{
    
    [deleteRowIndex release];
    deleteRowIndex=indexPath;
    [deleteRowIndex retain];
    
    
    UIActionSheet *actionSheet=[[UIActionSheet alloc]initWithTitle:@"Are you shure?" delegate:self cancelButtonTitle:@"NO" destructiveButtonTitle:@"OK" otherButtonTitles: nil];
    [actionSheet showInView:self.view];
    //спрашивется действительно ли пользователь хочет удалить строку
   
} 
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
    return UITableViewCellEditingStyleDelete;
}
#pragma Action Sheet Delegate
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
    NSInteger row=[deleteRowIndex row];
    if(buttonIndex==0){
        [self.list removeObjectAtIndex:row];
        [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:deleteRowIndex] withRowAnimation:UITableViewRowAnimationFade];
    }
    else{
        [self.tableView setEditing:NO animated:YES];
        [self.navigationItem.rightBarButtonItem setTitle:@"Edit"];
        [self.navigationItem setLeftItemsSupplementBackButton:YES];
        [self.navigationItem setLeftBarButtonItem:nil animated:NO];
    }
    
}
 
 
 
@end
в проекте смотрите *DeleteMeController

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Вложения
Тип файла: zip nav(9).zip (78.9 Кб, 3 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2013, 00:15
Ответы с готовыми решениями:

Странная ошибка при сборке
Здравствуйте, ситуация такая. Скопировал проект на другой компьютер и на...

Странная ошибка
Написал SQL запрос, запрос то верный, но Sql выдаёт на него ошибку, вот что за...

Странная ошибка
Уважаемые, подскажите пожалуйста, что делать. Хочу открыть свой проект, но...

Странная ошибка
#include &lt;iostream&gt; using namespace std; class jon { public: void...

Странная ошибка
Ребята, из-за чего такое м.б. - я создавал таблицу вот так: CREATE TABLE...

2
Xavier
in god we trust
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
06.02.2013, 01:28  [ТС] #2
ааааа я нашел решение на одном забугорном форуме))
Я конечно не понимаю толи это баг то ли так должно быть но все же:
Надо было в самом первом apllication.xib поставить для window галочку visible at launch)
Но все же не понятно к чему это, но зато все теперь работает!
Ну или в app delegate прописать [self.window makeKeyAndVisible];
Теперь хоть заснуть нормально смогу))
1
Max Patsy
курлык-курлык
85 / 94 / 8
Регистрация: 26.11.2009
Сообщений: 396
Записей в блоге: 1
06.02.2013, 10:23 #3
на самом деле странно. [self.window makeKeyAndVisible]; и чекбокс выполняют одну и ту же функцию.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2013, 10:23

Странная ошибка
Здраствуйте. Начал писать маленькую программку, которая создаёт и просматривает...

Странная ошибка
Ребята, помогите, пожалуйста как мне быть с ошибкой &quot;PHP Fatal Error –...

Странная ошибка!
При открытии форм в бд пишет: Generic LSE Failure (no more info!) Что бы это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru