Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

KissXML - Программирование iOS

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS Передача данных из UIPickerView во время прокрутки http://www.cyberforum.ru/ios-dev/thread1131114.html
Доброго времени суток. У меня есть 2 UITableViewCell, первый пустой, во втором как subview лежит UIPickerView. Есть ли возможность во время прокрутки UIPickerView передавать данные в первую ячейку?...
Программирование iOS Find my iphone всем привет,купил себе ipad с рук а оказался он варованный,а найти продавца не могу исчез и по мойму подключен службе аштв my iphone.есть ли какой нибудь обход???? скольуо раз себе говорил что не... http://www.cyberforum.ru/ios-dev/thread1130567.html
Анимация в 2d игре Программирование iOS
Здравствуйте уважаемые форумчане. Сразу хочу сказать, что я не коддер. Я разрабатываю интерфейс для 2D игры, и столкнулся с вопросом. В игре, у некоторых персонажей будет анимация движения/действий...
Программирование iOS Description RSS Reader
Есть метод: NSString *parseDescriptionForShortDesc(NSString *desc) { NSMutableArray *results = ; ; return ; }
Программирование iOS Сдвиг вниз ячеек/секций в UITableView http://www.cyberforum.ru/ios-dev/thread1129228.html
Доброго времени суток. Мне необходимо реализовать такую задачу: есть таблица, по тапу на одну ячейку все остальные ячейки, которые ниже, смещаются вниз, а на освобожденном месте появляется...
Программирование iOS Добавление нескольких уровней сложности в игре Доброго времени суток. Поправил математическую и физическую составляющую своем игры ( Спасибо всем за советы и помощь). Но я решил углубиться и создать несколько уровней сложности ( easy, medium,... подробнее

Показать сообщение отдельно
Alex2301
-21 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 33

KissXML - Программирование iOS

27.03.2014, 13:25. Просмотров 487. Ответов 0
Метки (Все метки)

Привет всем, может кто подскажет как с помощью блоков можно заменить делегирование, как я понял нужно его использовать во viewDidLoad.





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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
//
//  ViewController.m
//  RSSReader
//
//  Created by admin on 3/25/14.
//  Copyright (c) 2014 admin. All rights reserved.
//
 
#import "ViewController.h"
#import "WebViewController.h"
#import "InternetGateway.h"
#import "Item.h"
#import "AFNetworking.h"
#import "CustomCell.h"
#define RssFilePath    PathForXMLResource(@"0")
 
@interface ViewController ()
 
@end
 
@implementation ViewController
 
@synthesize mainTV, gateway;
 
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}
 
-(void)loadView
{
 
    UIView *contentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    contentView.autoresizesSubviews = YES;
    contentView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
    contentView.backgroundColor = [UIColor clearColor];
    
    
    [self setView:contentView];
    
    mainTV = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 480) style:UITableViewStylePlain];
    [mainTV setAutoresizesSubviews:YES];
    [mainTV setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
    
    
    [mainTV setDataSource:self];
    [mainTV setDelegate:self];
    
    [self.view addSubview:mainTV];
    
    
}
 
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.title = @"News";
    AFHTTPClient *client = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:(@"http://rf-lenta.ru/engine/rss.php")]];
    [client getPath:@"rss/0.xml" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSString *rss = nil;
        if ([responseObject isKindOfClass:[NSData class]]) {
            rss = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
        } else {
            rss = (NSString *)responseObject;
        }
        InternetGateway *parser = [[InternetGateway alloc] initWithRssFile:rss];
 
   }
    failure:^(AFHTTPRequestOperation *operation, NSError *error) {
               _items=gateway.results;
              [self.mainTV reloadData];
    }];
    
    
    
    
    
    
    
    
    
    
    
    
    
    
////    self.gateway = [[InternetGateway alloc] init];
//    
//    __block InternetGateway* gatewayin = [[InternetGateway alloc] init];
//    [gatewayin parse:^{
//        _items=gateway.results;
//        [self.mainTV reloadData];
//    }];
////        _items=gateway.results;
////        [self.mainTV reloadData];
 
}
 
 
- (void)RssParser:(InternetGateway *)parser didParseWithResult:(id)result
{
    _items=result;
           [self.mainTV reloadData];
}
 
#pragma mark - Table data source
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [self.items count];
}
 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *identifier = @"Cell";
    CustomCell *cell = (CustomCell *)[mainTV dequeueReusableCellWithIdentifier:identifier];
    if ( !cell ) {
            cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:identifier];
        [cell setAccessoryType:(UITableViewCellAccessoryDisclosureIndicator)];
    }
    [self configureCell:cell atIndexPath:indexPath];
    return cell;
}
 
- (void)configureCell:(CustomCell *)cell atIndexPath:(NSIndexPath *)indexPath
{
    Item *item = self.items[indexPath.row];
    cell.titleLabel.text = item.title;
    cell.titleLabel.font = [UIFont fontWithName:@"Helvetica" size:20.0];
    cell.titleLabel.textColor = [UIColor darkTextColor];
    cell.descriptionLabel.text = item.shortDesc;
    cell.descriptionLabel.font = [UIFont fontWithName:@"Helvetica" size:12.0];
    cell.descriptionLabel.textColor = [UIColor lightGrayColor];
}
 
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 120;
}
 
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    Item *item = [self.items objectAtIndex:indexPath.row];
    WebViewController *webVC = [[WebViewController alloc] initWithNibName:nil bundle:nil];
    webVC.requestURL = item.link;
    [self.navigationController pushViewController:webVC animated:YES];
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}
 
@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
106
107
108
//
//  InternetGateway.m
//  RSSReader
//
//  Created by admin on 3/26/14.
//  Copyright (c) 2014 admin. All rights reserved.
//
#import "Item.h"
#import "InternetGateway.h"
//#define URLFromString(str)   [NSURL URLWithString:str]
@implementation InternetGateway
@synthesize myItem, results;
 
- (id)initWithRssFile:(NSString *)rssFile
{
    self = [super init];
    if (self) {
        _rssFile = rssFile;
         myItem = [[Item alloc] init];
    }
    return self;
}
 
- (void)parse
{
    if (self.rssFile == nil)
        return;
    
    dispatch_queue_t concurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    dispatch_async(concurrentQueue, ^{
        [self parseWithXMLString:self.rssFile];
    });
}
 
#pragma mark - Private method
- (void)parseWithXMLString:(NSString *)xmlString
{
    NSError *error = nil;
    DDXMLDocument *document = [[DDXMLDocument alloc] initWithXMLString:xmlString options:0 error:&error];
    
    if (error)
    {
        NSLog(@"Failed to create XML document for reason: \n%@", error);
    }
    else
    {
        [self parseWithDocument:document];
    }
 
}
 
 
 
 
-(NSMutableArray*)parseWithDocument:(DDXMLDocument *)document
{
 //  NSMutableArray* results = [[NSMutableArray alloc] init];
    NSArray *nodes = [document nodesForXPath:@"/rss/channel/item" error:nil];
        results = [[NSMutableArray alloc] init];
        for (NSInteger i = 0; i < [nodes count]; i++) {
            [self parseXMLNodeForItem:(nodes[i])];
            [results addObject:myItem];
        }
// [self notifyTheDelegateWithResult:results];
    return results;
    NSLog(@"results= %@", results);
 ///   [self notifyTheDelegateWithResult:results];
}
 
 
 
 
-(id)parseXMLNodeForItem:(DDXMLElement *)element
{
    NSString *desc = [[[element elementsForName:@"description"] lastObject] stringValue];
    NSMutableString *outString;
    if (desc)
    {
        outString = [[NSMutableString alloc] initWithString:desc];
        if ([desc length] > 0)
        {
            NSRange r;
            while ((r = [outString rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound)
            {
                [outString deleteCharactersInRange:r];
            }
        }
    }
    NSString *title = [[[element elementsForName:@"title"] lastObject] stringValue];
    NSString *shortDesc = outString;
    NSString *linkString = [[[element elementsForName:@"link"] lastObject] stringValue];
    
    myItem.link = [NSURL URLWithString:linkString];
    myItem.title = title;
    myItem.shortDesc = shortDesc;
    return myItem;
    
}
 
//#pragma mark - Notify the delegate
//- (void)notifyTheDelegateWithResult:(id)result
//{
//    dispatch_async(dispatch_get_main_queue(), ^{
//                   [self.delegate RssParser:self didParseWithResult:result];
//    });
//}
 
@end
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru