Форум программистов, компьютерный форум, киберфорум
Objective-C
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
4 / 4 / 2
Регистрация: 01.04.2014
Сообщений: 119
1

Передача переменных прогресс бару другого класса

21.11.2014, 01:35. Показов 1177. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Хочу задать вопрос - как мне из класса одного метода передать переменную в метод другого класса?
У меня есть класс ячейки таблицы в которой есть прогресс бар
DMTableViewCell.h
Objective-C
1
2
3
4
5
6
@interface DMTableViewCell : UITableViewCell
 
@property (strong, nonatomic) UIProgressView* progressBar;
@property (strong, nonatomic) UILabel* nameOfDocumentLabel;
 
@end
в имплементации пусто.

Есть таблица, обьявленная глобально во ViewController'e.
В методе tableView:cellForRowAtIndexPath создаю объект класса DMTableViewCell и вставляю в ячейку прогресс бар
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
-(DMTableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString* identifier = @"cell";
    DMTableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:identifier];
    if (!cell) {
        cell = [[DMTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
    }
    
    cell.progressBar = [[UIProgressView alloc] initWithFrame:CGRectMake(cell.bounds.size.width/2+10,
                                                                        cell.bounds.size.height/2,
                                                                        120,
                                                                        5)];
    [cell addSubview:cell.progressBar];
    return cell;
}
вот хедер контроллера
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#import <UIKit/UIKit.h>
#import "DMTableViewCell.h"
 
@interface ViewController : UIViewController <UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate>
 
@property (strong, nonatomic) UITableView* tableView;
@property (strong, nonatomic) UITextField* searchField;
@property (strong, nonatomic) NSMutableArray* countOfRows;
@property (strong, nonatomic) UIButton* downloadButton;
@property (strong, nonatomic) NSMutableData *objectData;
@property (assign, nonatomic) CGFloat sizeOfPath;
@property (assign, nonatomic) long long expectedMBytes;
 
@end
и есть методы, которые отвечают за скачивание файла (NSURLConnection) и за размеры скачанного-оставшегося и тд. переменные эти объявлены пропертями в хедере контроллера.
Вопрос - как передать эти значения прогресс бару?
З.Ы. tableView:cellForRowAtIndePath находится в имплементации контроллера.
З.Ы.Ы. вот методы скачки
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
    [self.objectData appendData:data];
    self.sizeOfPath = (CGFloat)[self.objectData length];
    NSLog(@"data has recieved %.1f", self.sizeOfPath/1000000);
    CGFloat progress = self.sizeOfPath/self.expectedMBytes;}
 
-(void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response {
    self.expectedMBytes = [response expectedContentLength];
    NSLog(@"%lld", self.expectedMBytes);
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    //NSString *fileName = @"/Users/evgeniaazarova/Library/filename";
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *fileName = [paths objectAtIndex:0];
    [self.objectData writeToFile:fileName atomically:YES];
    NSLog(@"download finished");
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}
З.Ы.Ы.Ы. если создавать отдельный прогресс бар (не в ячейке таблицы) то он работает хорошо и прогресс у него работает вот так
Objective-C
1
self.progressBar.progress = self.sizeOfPath/self.expectedMBytes;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2014, 01:35
Ответы с готовыми решениями:

Передача инициализированных переменных из одного класса в другой (objective c, XCODE 5.0.2)
Друзья помогите решить задачку! Я в этом деле новичек, поэтому прошу не винить за глупые вопросы))...

Возможно ли обращение к прогресс бару в строке состояния?
Всем привет. Вопрос в принципе сформулирован. При открытии/закрытии/сохранении прогресс бар...

Создание потока thread по кнопке,задание приоритета и отслеживание по прогресс-бару
&lt;a target=&quot;_blank&quot; href=&quot;http://***********&quot;&gt;&lt;img...

Передача названия класса в метод другого класса в качестве входных данных
У меня есть класс &quot;class1&quot;, от которого наследуется несколько однотипных классов classX, classY,...

0
21.11.2014, 01:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2014, 01:35
Помогаю со студенческими работами здесь

Передача значения переменной из метода одного класса в метод другого класса
Добрый вечер! Есть основная форма Form1 в которой есть метод private void button1_Click(object...

Передача конструктору одного класса объект другого класса
Здравствуйте, кодеры. Столкнулся с проблемой. У меня есть 2 класса Camera и Game и...

Передача данных из другого класса
Как передать данные в глобальные переменные из класса Class1.cs в Class2.cs? В метод - понятно как,...

Передача переменных из класса форме
Всем добрый вечер, имеется такая пока что простенькая программка, которая должна строить график по...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru