2016-07-10 4 views
0

Я очень новичок в развитии iOS/Swift. Я пытаюсь реализовать регистрацию пользователя/подпись с помощью AWS Cognito. После инициализации SDK с конфигурацией по умолчанию я:Как инициализировать AWSCognitoIdentityUserAttributeType в Swift?

let pool = AWSCognitoIdentityUserPool(forKey: "UserPool") 

[а затем]

pool.signUp(...) 

зарегистрировать пользователя.

Мне нужно передать массив AWSCognitoIdentityUserAttributeType методу signUp, но я не могу инициализировать объекты этого типа.

var first_name = AWSCognitoIdentityUserAttributeType(
           dictionary: ["given_name": "rob"]) 

приводит к следующим Ошибки:

2016-07-10 08:48:43.025 Demo1[4199:111322] - 
     [AWSCognitoIdentityUserAttributeType initWithDictionary:]: 
     unrecognized selector sent to instance 0x7fee54a6ede0 
+0

Я, наконец, понял, как инициализировать AWSCognitoIdentityUserAttributeType в Swift! let first_name = AWSCognitoIdentityUserAttributeType() first_name.name = "given_name" first_name.value = "rob" – ranji

ответ

0

Я верю, вы должны сделать так, создать массив AWSCognitoIdentityUserAttributeType, а затем создать кучу объектов этого типа, присвоить имя» 'затем значение, как я сделал ниже. Затем вы можете использовать этот объект 'атрибуты' в вашем pool.signup

var attributes = [AWSCognitoIdentityUserAttributeType]() 
    let name = AWSCognitoIdentityUserAttributeType() 
    let email = AWSCognitoIdentityUserAttributeType() 
    let gender = AWSCognitoIdentityUserAttributeType() 
    let birthdate = AWSCognitoIdentityUserAttributeType() 
    let username = AWSCognitoIdentityUserAttributeType() 

    let myFormatter = DateFormatter() 
    myFormatter.dateFormat = "dd/MM/yyyy" 

    name?.name = "name" 
    email?.name = "email" 
    gender?.name = "gender" //implementar genero ainda 
    birthdate?.name = "birthdate" 
    sobrenome?.name = "family_name" 
    username?.name = "preferred_username" 


    let birthdateNsDate:Date = birthdateField.date as Date 
    birthdate?.value = myFormatter.string(from: birthdateNsDate) 
    name?.value = nameTextField.text! 
    email?.value = emailTextField.text! 


    attributes.append(name!) 
    attributes.append(email!) 
    attributes.append(gender!) 
    attributes.append(birthdate!) 
    attributes.append(sobrenome!) 
    attributes.append(username!) 
0

Один экземпляр:

например,

AWSCognitoIdentityUserAttributeType(name: "key", value: number) 
AWSCognitoIdentityUserAttributeType(name: "key", value: "string") 

массив в качестве параметра в вызове функции:

awsUserPool.currentUser()?.update([ 
    AWSCognitoIdentityUserAttributeType(name: "key0", value: value0), 
    AWSCognitoIdentityUserAttributeType(name: "key1", value: value1) 
]) 
Смежные вопросы