Bir diziden (bir tamsayı içeren) bir dizeyi ayıklamaya ve sonra onu bir işlevde int olarak kullanmaya çalışıyorum. İntValue kullanarak bunu bir int'e dönüştürmeye çalışıyorum.
İşte denediğim kod.
NSArray *_returnedArguments = [serverOutput componentsSeparatedByString:@":"];
[_appDelegate loggedIn:usernameField.text:passwordField.text:(int)[[_returnedArguments objectAtIndex:2] intValue]];
Bu hatayı alıyorum:
'loggedIn :::' argümanının 3 geçişi bir çevrim olmadan tamsayıdan işaretçi yapar
Sorun nedir?
loggedIn:::
, ki bu da kesinlikle Amaç-C olmayan bir şeyler yapma yolu.
loggedIn:::
. Bu bildirimin geri kalanı, seçicinin bir parçası değil, yalnızca parametre adlarıdır. Deyimsel olarak, öyle olmalı - (void)loggedIn:(NSString *)tusername password:(NSString *)tpassword userID:(int)userId
. Ve sonra siz onu çağırırsınız [_appDelegate userIsLoggedIn:usernameField.text password:passwordField.text userID:[[_returnedArguments objectAtIndex:2] intValue]];
.
(int)
parçaya ihtiyacın yok