-
Notifications
You must be signed in to change notification settings - Fork 1
/
BMThirdViewController.m
91 lines (79 loc) · 3.45 KB
/
BMThirdViewController.m
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
#import <UIKit/UIKit.h>
#import <WebKit/WebKit.h>
#import "BMSecondViewController.h"
#import "BMThirdViewController.h"
@implementation BMThirdViewController {
NSInteger currentRepo;
NSInteger appLanguage;
NSArray *languageArray;
NSMutableArray *repoArray;
NSMutableArray *modNameArray;
NSMutableArray *modDetailArray;
NSMutableArray *modCategoryArray;
NSMutableArray *buttonArray;
NSMutableArray *installedArray;
}
@synthesize indexPath;
@synthesize myIndexPath;
- (void)loadView {
[super loadView];
[self getUserDefaults];
self.title = [self getString:modDetailArray[indexPath.section][indexPath.row][myIndexPath.row]];
CGRectMake(0, 0, 10, 10);
WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:configuration];
webView.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addSubview:webView];
webView.navigationDelegate = self;
webView.UIDelegate = self;
// Autolayout
NSDictionary *views = NSDictionaryOfVariableBindings(webView);
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[webView(>=0)]-0-|" options:0 metrics:nil views:views]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[webView(>=0)]-0-|" options:0 metrics:nil views:views]];
NSString *urlString = [NSString stringWithFormat:@"%@/detail/html/%@.html",repoArray[currentRepo],[self getFullID:indexPath.section:indexPath.row:myIndexPath.row]];
NSSet *websiteDataTypes = [WKWebsiteDataStore allWebsiteDataTypes];
NSDate *dateFrom = [NSDate dateWithTimeIntervalSince1970:0];
[[WKWebsiteDataStore defaultDataStore] removeDataOfTypes:websiteDataTypes modifiedSince:dateFrom completionHandler:^{
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]]];
}];
}
- (NSString *)BMLocalizedString:(NSString *)key {
NSString *path = [[NSBundle mainBundle] pathForResource:languageArray[appLanguage] ofType:@"lproj"];
return [[NSBundle bundleWithPath:path] localizedStringForKey:key value:@"" table:nil];
}
- (NSString *)getFullString :(NSInteger)i :(NSInteger)j :(NSInteger)k {
return [self getString:modDetailArray[i][j][k]];
}
- (NSString *)getFullID :(NSInteger)i :(NSInteger)j :(NSInteger)k {
return [NSString stringWithFormat:@"%@.%@.%@",[self getID:modCategoryArray[i]],[self getID:modNameArray[i][j]],[self getID:modDetailArray[i][j][k]]];
}
- (NSString *)getString:(NSString *)string{
NSArray *array = [string componentsSeparatedByString:@":"];
if ([array count] == 2) {
return array[0];
} else {
return @"error";
}
}
- (NSString *)getID:(NSString *)string{
NSArray *array = [string componentsSeparatedByString:@":"];
if ([array count] == 2) {
return array[1];
} else {
return @"error";
}
}
// get NSUserDefaults
- (void)getUserDefaults {
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
appLanguage = [ud integerForKey:@"appLanguage"];
languageArray = [ud arrayForKey:@"AppleLanguages"];
repoArray = [[ud arrayForKey:@"repoArray"] mutableCopy];
currentRepo = [ud integerForKey:@"currentRepo"];
buttonArray = [[ud arrayForKey:@"buttonArray"] mutableCopy];
installedArray = [[ud arrayForKey:@"installedArray"] mutableCopy];
modCategoryArray = [[ud arrayForKey:@"modCategoryArray"] mutableCopy];
modNameArray = [[ud arrayForKey:@"modNameArray"] mutableCopy];
modDetailArray = [[ud arrayForKey:@"modDetailArray"] mutableCopy];
}
@end