У меня есть небольшая дилемма, и мне было интересно, могут ли хорошие люди здесь дать мне свой опыт программирования.Я постараюсь быть настолько простым и точным, насколько это возможно, вот так:
Я новый разработчик IOS и учусь только пару месяцев.Я разрабатываю приложение для iPhone для моей диссертации в университете.Приложение представляет собой просто руководство для людей, которые хотят разработать для себя iPhone, состоящее из учебных пособий.Он состоит из множества табличных представлений, но есть одна вещь, которая поставила меня в тупик.
Что я пытаюсь сделать: одна функция, которую я пытаюсь включить в свое приложение, - это функция закладок, она будет доступна на вкладкебар.Я хочу иметь возможность нажать на кнопку из любого файла пера (учебник), который добавляет строку к существующему NSMutableArray.Эта строка будет соответствовать названию учебника, в котором было выполнено IB-действие, и после добавления в массив я могу загрузить файл пера при выборе строки по пути индекса.
Проблема: я могу добавить любойОбъект в массив из файла реализации, который содержит массив, но не может выяснить, как добавить его из другого файла реализации.Представление UITable отлично заполняет массив, но добавление новой записи - это другая история.
Я покажу вам свой код, но я опущу все, что не связано.
BookmarksViewController.h
@interface BookmarksViewController : UITableViewController {
NSMutableArray *bookmarksArray;
}
@property (nonatomic, retain) NSMutableArray *bookmarksArray;
@end
BookmarksViewController.m
-(void)viewDidLoad {
bookmarksArray = [[NSMutableArray alloc] init];
NSLog(@"String Added");
[bookmarksArray addObject:@"String"];
[super viewDidLoad];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// Configure the cell...
cell.textLabel.text = [bookmarksArray objectAtIndex:indexPath.row];
return cell;
}
-(void)dealloc {
[bookmarksArray release];
[super dealloc];
}
СЕЙЧАС ДЛЯ КОНТРОЛЛЕРА ВТОРОГО ВИДА
Ch01GettingStarted.h
@interface Ch01GettingStarted : UIViewController {
IBOutlet UIScrollView *ScrollView;
}
-(IBAction) pushChap01Bookmark:(id)sender;
@end
Ch01GettingStarted.m
-(IBAction) pushChap01Bookmark:(id)sender{
BookmarksViewController *bookmarksViewController = [[BookmarksViewController alloc]init];
[bookmarksViewController.bookmarksArray addObject:@"NewString"];
NSLog(@"ADD ENTRY");
[bookmarksViewController.tableView reloadData];
NSLog(@"RELOAD TABLE");
[bookmarksViewController release];
NSLog(@"ADD BOOKMARK RELEASE");
}
Кстати - IB-действие было объявлено в заголовочном файле.
Ах, я изначально пытался сделать это как '[BookmarksViewController.bookmarksArray addObject: @ "NewString"];'но я обнаружил ошибку «ожидается»: «в». »и где-то прочитал, что мне нужно использовать переменную экземпляра BookmarksViewController, поэтому я объявил ее чуть выше метода addObject.
Пожалуйста, будьте осторожнысо мной, потому что я давно этим не занимался, но это, безусловно, будет важной частью моего профессионального будущего.
Любое понимание, которое кто-либо может мне предложить, будет волшебным.
Спасибо, спасибо, спасибо.