質問

わかりました、私はそれをCodeSignに手に入れました(ビルドログにもうコードサインと埋め込まれた.mobileprovisionを表示する必要はありません!)しかし、「応答しないかもしれない」警告を取り除きたいです。これらの警告に関する他のすべての投稿を見た後、私は問題を見つけることができません...

welcome_backview.hで:

 @interface Welcome_backView : UIView {
Welcome_backViewController *refParentViewController;

}


- (id)initWithParentViewController:(Welcome_backViewController *)parent;
- (void)setSubviewsToLandscape;
- (void)setSubviewsToPortrait;

welcome_back.mで、

  #import "Welcome_backView.h"
  #import "Welcome_backViewController.h"
  @interface Welcome_backView()
//

@end

@implementation Welcome_backView



 - (void)setSubviewsToPortrait{
//do great things
 }

 - (void)setSubviewsToLandscape{
    //do more great things
 }

これは、welcome_backviewcontroller.mからです:

#import "Welcome_backViewController.h"
#import "Welcome_backView.h"

@interface Welcome_backViewController()
-(void) arrangeViews;
@end

@implementation Welcome_backViewController

UIView *welcome_backView;

 - (id)init {

welcome_backView = [[Welcome_backView alloc] initWithParentViewController:self];
    self.view = welcome_backView;
}

-(void) arrangeViews {
//if one thing
    [welcome_backView setSubviewsToPortrait];
//if another thing
    [welcome_backView setSubviewsToLandscape];
}

そして、非常に多くのポスターと同様に、「uiview」は「-setsubviewstolandscape」(および肖像画...同じ警告)に応答しないかもしれない警告を受け取ります。私はすべての通常の容疑者を試しました - メソッドのスペルミス、インスタンスの代わりにクラスを使用して、ヘッダーをインポートせず、メソッド宣言をヘッダーに入れるのを忘れていませんでした。

真実は、コードが正常に機能しているようです...

誰もが私が間違ったことを見ることができますか(警告を取り除くことができますか)?

役に立ちましたか?

解決

警告は、「uiviewは応答しないかもしれない...」と言っています。なぜなら、あなたはそれのサブクラスの代わりにuiviewとしてwelcome_backview ivarを宣言したからです。

uiviewには、setsubviewstoxxxのメソッドがありません。

これを変える:

UIView *welcome_backView;

これに:

Welcome_backView *welcome_backView;

Uiviewとして宣言された場合でも機能します。実行時に、IVARはSetSubViewStoxXXメソッドに応答するWelcome_BackViewのインスタンスを指しているためです。

問題を引き起こしていないもう1つのことは(まだ)方法の名前です。 「セット」から始まるメソッド名は、一般にプロパティセッターメソッドに使用され、後で混乱を引き起こす可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top