ボタンを押すと、Web ビュー (ブックマークなど) の URL がテーブル ビューに追加されるメイン ビューがあります。唯一の問題は、ロードされないことです。私は何時間もそれに取り組んできましたが、それを理解することはできません。テーブルビューにデータを間違ってロードしていると思いますが、静かではありません。
これは MainViewController.m です。
- (IBAction)bookmark:(id)sender {
UIActionSheet *actionSheet =
[[UIActionSheet alloc] initWithTitle:[[[[self webView] request] URL]
absoluteString] delegate:nil cancelButtonTitle:@"Cancel"
destructiveButtonTitle:nil otherButtonTitles:@"Add", nil];
[actionSheet showInView:self.view];
}
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0) {
NSMutableArray *bookmarks = [[[NSUserDefaults standardUserDefaults]
arrayForKey:@"Bookmarks"] mutableCopy];
if (!bookmarks) {
bookmarks = [[NSMutableArray alloc] init];
}
[bookmarks addObject:[[[[self webView]request] URL] absoluteString]];
[[NSUserDefaults standardUserDefaults] setObject:bookmarks
forKey:@"Bookmarks"];
}
}
これは BookmarksViewController.m です
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"%@", bookmarks);
bookmarks = [[[NSUserDefaults standardUserDefaults]
arrayForKey:@"Bookmarks"] mutableCopy];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
[[NSUserDefaults standardUserDefaults] setObject:bookmarks forKey:@"Bookmarks"];
cell.textLabel.text = [self.bookmarks objectAtIndex:indexPath.row];
return cell;
}