У меня есть 2 контроллера вида, и я передаю данные от 1 до 2, но NSString в 2 пуст (null), что я делаю неправильно?Данные переданы из контроллера представления, возвращающего null
вид Контроллер 1 .m
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
NSLog(@"Method 1");
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSLog(@"Method 2");
NSLog(@"%lu", (unsigned long)[allPosts count]);
return [[[allPosts objectForKey:@"posts"] valueForKey:@"title"] count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"Method 3");
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.textLabel.text = [NSString stringWithFormat:@"%@", [[[allPosts objectForKey:@"posts"] valueForKey:@"title"] objectAtIndex:indexPath.row]];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
OldPostViewController *vc = [[OldPostViewController alloc] init];
NSString *url = [NSString stringWithFormat:@"server/app/post.php?id=%@", [[[allPosts objectForKey:@"posts"] valueForKey:@"id"] objectAtIndex:indexPath.row]];
vc.postURL = url;
NSLog(@"%@", vc.postURL);
[self performSegueWithIdentifier:@"viewPost" sender:self];
}
вид контроллер 2 .h
#import <UIKit/UIKit.h>
@interface OldPostViewController : UIViewController <UIWebViewDelegate>
@property (weak, nonatomic) IBOutlet UIWebView *blogView;
@property (strong, nonatomic) NSString *postURL;
@end
вид контроллер 2 .m
NSLog(@"URL: %@", _postURL);
NSString *fullURL = _postURL;
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[blogView loadRequest:requestObj];
Пожалуйста, может кто-нибудь сказать мне, что я мог бы сделать, поскольку я попробовал все решения, которые я мог найти в Google & Stackoverflow
Привет, спасибо за быстрый ответ, я реализовал метод didSelectRowAtIndexPath и все работы, за исключением, что вид делает не отображается экран, только черным, что это значит. –
@ user2802926: declare 'vc' как свойство вместо локального экземпляра, тогда попробуйте –
Привет, я создал его как локальное свойство, и он разбился при попытке представить контроллер представления –