私はおそらく小さなものを見落としていますが、私はそれを理解できないようです。カスタムサブオブジェクトにivarを設定しても動作しません
カスタムクラスのインスタンスを別のカスタムクラスのインスタンスに渡そうとしています。 注:
#import "OneArtsDay.h"
@interface SocialButton : UIButton {
OneArtsDay *artsDay;
}
@property (nonatomic) OneArtsDay *artsDay;
- (void)setArtsDay:(OneArtsDay *)day;
@end
と
#import "SocialButton.h"
@implementation SocialButton
@synthesize artsDay;
- (void)setArtsDay:(OneArtsDay *)day {
if (day ==nil) {
NSLog(@"Error, cannot set artsDay");
}
else {
artsDay = day;
}
}
@end
を今、私はコードでこれらのコマンドを呼び出すとき:
私は2番目のカスタムクラスが設定されている*をARCを使用しています
SocialButton *social = [[SocialButton alloc] init];
OneArtsDay *day = [[OneArtsDay alloc] init];
//Do things with day here//
[social setArtsDay:day];
私はまだエラーが発生します。 OneArtsDay * artsDayプロパティにアクセスしてみてください。私は何が欠けていますか?
どういう意味ですか?何が効いていないのですか? –
(非原子的)の代わりに(強い、非原子的)使用すると、オブジェクトへの強いポインタが保持されます。これはARC専用です。setter self.artsDay = dayも使用してください。 –
私が与えたエラーは、 'NSInvalidArgumentException ..インスタンスに送信された認識できないセレクタ...'で、プロパティにアクセスしようとすると発生します。OneArtsDay * artsDay – achi