Rozumiem, że masz do czynienia z zestawem UITouchów. To nie zadziała, ponieważ UITouch nie implementuje NSCoding (myślę).
Będziesz musiał wyodrębnić, jakie informacje potrzebujesz z każdego UITouch, a następnie umieścić to w czymś, co jest zgodne z NSCoding.
NSSet * someSet = ...;
NSData * serializedSet = [NSKeyedArchiver archivedDataWithRootObject:someSet];
Następnie wyślij te dane za pomocą zestawu gier.
Drugie urządzenie pobiera dane, przekształca je z powrotem w zestaw.
NSData * receivedData = ....;
NSSet * set = [NSKeyedUnarchiver unarchiveObjectWithData:receivedData];
W takim razie możesz wywołać metodę, która jest potrzebna do przetworzenia zestawu. Ponieważ prawdopodobnie zmieniasz niektóre komponenty interfejsu użytkownika, upewnij się, że wywołasz selektor, aby działał w głównym wątku.
Również tego typu rzeczy działają tylko wtedy, gdy zdarzenia dotykowe, z którymi masz do czynienia, są bezpaństwowcami, co oznacza, że nie ma znaczenia, gdzie dotknięcie było wcześniej. W przeciwnym razie może to powodować pewne problemy. Lepiej może wydobyć ideę tego, co zmieniło się po zdarzeniach dotyku, a następnie wysłać to do drugiego urządzenia i zaktualizować tylko inne urządzenie z deltami tego, jak zmieniła się UIImage (innymi słowy, jaki rodzaj przetwarzania ma wystąpił w obrazie na drugim urządzeniu).
Dzięki za pomoc! Czy istnieje sposób na porównywanie UIImage lub sprawdzanie delt między dwoma UIImages? Również, czy UIImage imageWithData potrzebuje formatu obrazu JPG do działania? Wydaje mi się, że używasz PNG. Nie sądzę, że będę w stanie przesłać dotknięcia, ponieważ niestety polegam na ich stanie. Jeszcze raz dziękuję za odpowiedź! –