1

タイプ DMGSecondaryStatViewController のデリゲートを持つクラス DMGStatController があります。私は書きます

DMGStatController *controller = [[DMGStatController alloc] init]; 
controller.delegate = self;

「Objective-C ポインターから int * への暗黙的な変換は ARC では許可されていません」というエラーが表示されるのは、この 2 行目のコードです。コンパイラが何について話しているのかわかりません... DMGStatController のプロパティ デリゲートは、int * ではなく DMGSecondaryStatViewController 型です。どんな助けでも大歓迎です。

また、ここでデリゲートを宣言します。

#import <UIKit/UIKit.h>
#import "DMGSecondaryStatViewController.h"


@interface DMGStatDescriptionViewController : UIViewController{

}

@property(nonatomic , retain) DMGSecondaryStatViewController *delegate; 
@property(nonatomic , retain) NSString *finalStatChosen; 

@end
4

3 に答える 3

4

私はあなたが変わるべきだと思う

#import "DMGSecondaryStatViewController.h"

@class DMGSecondaryStatViewController;

于 2012-10-26T03:20:49.527 に答える
-3

学ぶべき教訓: コンパイラは正しい。「コンパイラが何を言っているのかわからない」という心構えは、解決策を見つけることを妨げます。コードが正しいと主張しているため、バグを見つけることができません。正しい態度は、「私は間違いを犯しました。私は何を間違えましたか?」です。

さらにいくつかの警告を有効にすると、コンパイラがデリゲート メソッドを見つけることができなかったため、デリゲート メソッドのパラメーターが何であるかについていくつかの仮定を行い、変換が許可されていないために不平を言ったことに気付くでしょう。 .

于 2014-02-24T11:19:42.333 に答える