Saya mencoba mengekstrak string (yang berisi integer) dari array dan kemudian menggunakannya sebagai int dalam suatu fungsi. Saya mencoba mengubahnya menjadi int menggunakan intValue.
Ini kode yang saya coba.
NSArray *_returnedArguments = [serverOutput componentsSeparatedByString:@":"];
[_appDelegate loggedIn:usernameField.text:passwordField.text:(int)[[_returnedArguments objectAtIndex:2] intValue]];
Saya mendapatkan kesalahan ini:
melewatkan argumen 3 dari 'logsIn :::' membuat pointer dari integer tanpa cast
Apa yang salah?
loggedIn:::
metode Anda , yang jelas merupakan cara yang tidak Objective-C untuk melakukan sesuatu.
loggedIn:::
. Sisa dari deklarasi itu hanyalah nama parameter, bukan bagian dari selector. Idiomatis, itu seharusnya - (void)loggedIn:(NSString *)tusername password:(NSString *)tpassword userID:(int)userId
. Dan kemudian Anda akan menyebutnya sebagai [_appDelegate userIsLoggedIn:usernameField.text password:passwordField.text userID:[[_returnedArguments objectAtIndex:2] intValue]];
.
(int)
bagian