Przed iOS5 byłem w stanie uzyskać dostęp do UIWebView w UIScrollView delegata tak:Dlaczego nie mogę już przechowywać właściwości delegata UIScrollView UIWebView?
for (id subview in webView1.subviews){
if ([[subview class] isSubclassOfClass: [UIScrollView class]]) {
UIScrollView * s = (UIScrollView*)subview;
OldDelegate = s.delegate;//OldDelegate is type id
s.delegate = self;
}
}
Teraz wiem, że nie jest to dobry sposób, żeby to zrobić, ale w tym czasie (o ile zrozumiałem), że to tylko sposób na zrobienie tego. iOS 5, który uległ zmianie, więc staram się zrobić to tak: iOS 5
UIScrollView * s = webView.scrollView;
Olddelegate = s.delegate;
s.delegate = self;
ale tak czy inaczej staram się to zrobić, to wartość mojego OldDelegate obiektu jest 0x0. To naprawdę ważne, że zachowuję tę wartość delegata, ale próbuję jak tylko mogę, właśnie otrzymuję 0x0.
Wszelkie pomysły?
nie używam ARC ...
Po prostu pytanie, czy kiedykolwiek udało Ci się przesłać aplikację, która to zrobiła? Myślałem, że to zabronione przez Apple. Chcę zrobić coś podobnego, chociaż nie wiem, czy aplikacja zostanie odrzucona. –
Tak, został zatwierdzony, ale teraz nadszedł czas na aktualizację i nie mogę go uruchomić, więc mam kłopoty ... – Lizza
Dlaczego musisz zatrzymać swojego delegata? Jest to dowód na większy problem w sposobie konstruowania hierarchii widoków. Delegaci zawsze powinni być uznani za słabych, ponieważ zatrzymanie ich nie ma sensu. – Sam