Modificatori di oggetti distribuiti in conflitto sul tipo di parametro su Scrollview

Sto usando una scrollview e implementando un metodo delegato.

-(void) scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(CGPoint *)targetContentOffset{ CGPoint p = *targetContentOffset; int counter = [self counterForPosition:p]; *targetContentOffset=[self positionForCounter:counter];; //load month -2; self.month=counter-2; } 

Ricevo un avviso da Xcode. Modificatori di oggetti distribuiti in conflitto sul tipo di parametro nell'implementazione di 'scrollViewWillEndDragging: withVelocity: targetContentOffset:'

Ho trovato alcuni suggerimenti, che non capisco completamente, e non risolve il mio problema. Il metodo di rilascio di Singleton produce avvertimenti?

Ora è solo un avvertimento e nulla si blocca. Penso che sia il mio personal OCD che voglio sistemarlo.

Tx

Solutions Collecting From Web of "Modificatori di oggetti distribuiti in conflitto sul tipo di parametro su Scrollview"

(CGPoint *)targetContentOffset dovrebbe leggere (inout CGPoint *)targetContentOffset , in modo che corrisponda alla dichiarazione nel protocollo che si sta tentando di implementare. Vedere la documentazione per il protocollo qui: http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIScrollViewDelegate_Protocol/Reference/UIScrollViewDelegate.html

FYI: in , out , inout , byref , bycopy e bycopy sono noti collettivamente come "modificatori di oggetti distribuiti". Sono un po 'come le annotazioni che dicono al compilatore (o al lettore, o al sistema di documentazione) come usenetworking i parametri della function. In questo caso, targetContentOffset punta a un CGPoint il cui valore viene utilizzato e quindi modificato: è sia un parametro in e un parametro out . Clang vuole essere sicuro di saperlo, quindi se non hai detto a Clang "sì, so che è un parametro inout ", Clang ti mostrerà questo avvertimento.