4
對於活性可可,我還是比較新的,我試圖在遊戲中加入玻璃鋼的元素。在我的網上搜索中,Reactive cocoa的資源和文檔看起來非常有限,大多數教程都使用相同的示例!使用活性可可觀察UITouches?
我想要做的就是讓RACSignal爲視圖上的當前觸摸提供一個值流(假設爲了簡單起見,不需要多點觸摸)。然後使用subscribeNext在UITouch對象發生變異時執行我的操作。我無法設置RAC信號本身!
目前Im做以下(其中林不知道是正道!)
@interface MyView:UIView{
UITouch *currentTouch;
RACSignal *touchSignal;
}
@property(nonatomic , assign)UITouch *currentTouch;
@implementation MyView
@synthesize currentTouch;
-(id)init{
if(self = [super init]){
}
return self;
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
NSArray *touchArray = [touches allObjects];
for(UITouch *touch in toucheArray){
currentTouch = touch;
if(!touchSignal){
touchSignal = [RACObserve(self , currentTouch) distinctUntilChanged];
}
}
}
但每次我的RACSignal試圖初始化遊戲崩潰,我得到如下:
[MyView rac_valuesForKeyPath:observer:]: unrecognized selector sent to instance 0x2084cf90
我做錯了什麼?建立RACSignal的正確方法是什麼?另外,如何在不同的對象(可能是MyView模型)中使用觸摸信號並使用訂閱接下來在塊中執行操作?
謝謝你一定會試試看。和我假設我可以訂閱(使用[[MyViewInstance觸摸信號] subscribeNext:....])到我的touchSignal在另一個對象,只要它的MyView公共屬性? – Sagar
是的,任何可以訪問信號的代碼都可以訂閱它。 –
試過了。有同樣的問題!我得到這個 終止應用程序由於未捕獲的異常'NSInvalidArgumentException',原因:' - [MyView rac_signalForSelector:]:無法識別的選擇發送到實例0x20874d80'。 我錯過了什麼? – Sagar