2011-12-13 17 views
1

遅延の後にプロパティを設定する方法はありますか?そのような:iOS遅延後のプロパティを設定する

// Compiler hates this 
[self performSelector:@selector(imageView.image) withObject:[UIImage imageNamed:newImage] afterDelay:0.5]; 

私は新しいメソッドを作成する必要がありますプロパティの設定を置くには?上記はとても簡単です。

答えて

6

はいimageというプロパティのセッターの名前はsetImageになります。あなたは、それはラクダが同棲その後、setで始まるメソッドが生成され、それがその型のパラメータを受け入れるsetterメソッドを設定しない

[imageView performSelector:@selector(setImage:) withObject:[UIImage imageNamed:newImage] afterDelay:0.5]; 

Ex。

@property(assign) id object; 
//becomes 
-(id)object {...} // getter 
-(void)setObject:(id)inObject {...} //setter 
5

また、dispatch_afterを使用してください。 dispatch_afterと入力してコード補完を要求すると、定型コード3行と実際のコードをブロックに入れます。そのブロックでは、imageView.image=は合法です。デフォルトの遅延時間を2秒(長い遅延のようなもの)から変更することを忘れないでください。

+0

これは私にとって非常に役に立ちました。ありがとう、マット。 – baptzmoffire

関連する問題