Свойство «тег» не найдено в объекте типа «_strong id»IOS

Программируем под IOS
Ответить
Anonymous
 Свойство «тег» не найдено в объекте типа «_strong id»

Сообщение Anonymous »

Я создаю приложение в соответствии с руководством, в котором для подключения к веб-серверу используется собственный веб-API. Одним из требований является определение того, была ли нажата кнопка «Войти» или «Зарегистрироваться». Это делается с помощью «тега», который был установлен для кнопки в конструкторе интерфейса (кнопка регистрации имеет тег 1).
Фрагмент кода находится внутри метода btnLoginRegisterTapped следующим образом (ошибка возникает в строке -> NSString* команда = (sender.tag==1)?@"register":@"login";):

Код: Выделить всё

- (IBAction)btnLoginRegisterTapped:(id)sender {

//form fields validation
if (fldUserName.text.length < 4 || fldPassword.text.length < 4) {
//  [UIAlertView error:@"Enter username and password over 4 chars each."];

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Opps!!" message:@"Enter  username and password over 4 chars each." delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil];
// optional - add more buttons:
[alert addButtonWithTitle:@"Yes"];
[alert show];
return;

}

//salt the password
NSString* saltedPassword = [NSString stringWithFormat:@"%@%@", fldPassword.text, kSalt];

//prepare the hashed storage
NSString* hashedPassword = nil;
unsigned char hashedPasswordData[CC_SHA1_DIGEST_LENGTH];

//hash the pass
NSData *data = [saltedPassword dataUsingEncoding: NSUTF8StringEncoding];
if (CC_SHA1([data bytes], [data length], hashedPasswordData)) {
hashedPassword = [[NSString alloc] initWithBytes:hashedPasswordData length:sizeof(hashedPasswordData) encoding:NSASCIIStringEncoding];
} else {

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Opps!!" message:@"Password cannot be reset!" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil];
// optional - add more buttons:
[alert addButtonWithTitle:@"Yes"];
[alert show];
return;
}

//************ THIS IS WHERE THE ERROR OCCURS *****************//
//check whether it's a login or register
NSString* command = (sender.tag==1)?@"register":@"login";
NSMutableDictionary* params =[NSMutableDictionary dictionaryWithObjectsAndKeys:
command, @"command",
fldUserName.text, @"username",
hashedPassword, @"password",
nil];

//make the call to the web API
[[API sharedInstance] commandWithParams:params
onCompletion:^(NSDictionary *json) {
//handle the response
//result returned
NSDictionary* res = [[json objectForKey:@"result"] objectAtIndex:0];

if ([json objectForKey:@"error"]==nil && [[res objectForKey:@"IdUser"] intValue]>0) {
//success
[[API sharedInstance] setUser: res];
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];

//show message to the user
[[[UIAlertView alloc] initWithTitle:@"Logged in"
message:[NSString stringWithFormat:@"Welcome %@",[res objectForKey:@"username"] ]
delegate:nil
cancelButtonTitle:@"Close"
otherButtonTitles: nil] show];

} else {
//error

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Opps!!" message:@"Server down? Try Again" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil];
// optional - add more buttons:
[alert addButtonWithTitle:@"Yes"];
[alert show];
return;

}

}];
когда я пытаюсь создать проект (фактически рабочую область), я получаю сообщение об ошибке:
Тег свойства не найден в объекте типа «_strong id»
Я использую развертывание xcode 5.0 для iOS7.>

Подробнее здесь: https://stackoverflow.com/questions/196 ... -strong-id
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»