私は現在、iPhoneアプリケーションを開発しようとしています。ほとんどのことは、私が期待し、好むように機能しています。
現在私が抱えている問題は、ViewControllers の 1 つにメソッドを追加すると、メソッドがアプリケーションの他の部分から見えないことです。
同じメソッドを同じ署名で他のView Controllerに追加すると、それらが表示されます。
私はグーグルで検索し、stackoverflow をブラウズし、再読し、コピーして貼り付け、スパゲッティ モンスターに神聖な洞察を求めて祈りましたが、役に立ちませんでした。
愚かな私が見落としている、いくつかの小さな詳細があるに違いありません。私はあなたが私を助けることができることを願っています!
InfoPageViewController.h
#import <UIKit/UIKit.h>
#import "DB.h"
@interface InfoPageViewController : UIViewController
{
IBOutlet UIWebView* wv;
DB* db;
}
@property (retain, nonatomic) IBOutlet UIWebView* wv;
-(void) reloadInfoPage;
@end
InfoPageViewController.m
#import "InfoPageViewController.h"
@interface InfoPageViewController ()
@end
@implementation InfoPageViewController
@synthesize wv;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.title = NSLocalizedString(@"Information", @"Information");
self.tabBarItem.image = [UIImage imageNamed:@"TabIcon-Settings"];
db = [[DB alloc] init];
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
DBInfoPage* dbip = [db getInfopage];
[wv loadHTMLString:dbip.html baseURL:nil];
//NSLog(@"word%@", dbip.html);
[self reloadInfoPage];
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
-(void)reloadInfoPage
{
DBInfoPage* dbip = [db getInfopage];
[wv loadHTMLString:dbip.html baseURL:nil];
NSLog(@"reloading infopage%@", @"");
}
@end
infoviewtest.h
#import <UIKit/UIKit.h>
#import "InfoPageViewController.h"
@interface infoviewtest : NSObject
@end
infoviewtest.m
#import "infoviewtest.h"
@implementation infoviewtest
-(void)test
{
InfoPageViewController* ivc = [[InfoPageViewController alloc] init];
[ivc reloadInfoPage];
}
@end
これにより、「'InfoPageViewController' の可視の @interface がセレクター 'reloadInfoPage' を宣言していません。
また、オートコンプリートを使用して、「InfoPageViewController」の使用可能なメソッドを表示しようとしました。これにより、「reloadInfoPage」を含まないリストが生成されます。同様に、インスタンス変数「wv」はクラスのスコープ外からは見えません。
xcodeを閉じて再度開き、コンピューターを再起動しようとしました。また、プロジェクトを「クリーン」にしようとしました。
まだ欲求不満に引っ張られていない私の髪の部分は、どんな助けでも大歓迎です.
情報の提供が不足している場合は、リクエストしてください。できる限り対応します。
ヨハン・アビルズコフ