2016-04-22 5 views
0

私はObj-Cで書かれたフレームワークを持っており、Obj-C関数をブール値にしようとすると大きな困難を抱えています。私は迅速な開発者です。Objective-Cでブールを渡す

Obj Cでこれを行うにはどうすればよいですか?

- (void)loginWithSamlToken:(Boolean *)saml credentialToken:(NSString *)credentialToken completionHandler:(METLogInCompletionHandler)completionHandler { 
    [self loginWithMethodName:@"login" parameters:@[@{@"saml": saml}, @{@"credentialToken": credentialToken}] completionHandler:completionHandler]; 
} 

私は第二行にエラーを取得{@ "SAMLを" SAML} "タイプの コレクションエレメント 'ブール*'(別名 'はunsigned char *は')Objective-Cのオブジェクトではありません

は、どのように私はOBJの-Cにブールを渡すことができますか?すべてのヘルプは非常に

この変換を持つすべてのヘルプは非常にappreaciatedされるだろうがappreiatedされるだろう!あなたはにブール値を渡す必要が

+0

を@rmaddyする{@"saml": @(saml)} -Creditsなる可能いますブール値の後。 *はオブジェクトのみであり、Booleanはオブジェクト型ではありません。 –

+0

@ teja-nandamuriはい、それを助けてくれませんでした – KML

+0

あなたはブール値をnsnumberオブジェクトに渡し、samlの代わりにnsnumberオブジェクトを格納する必要があります。辞書にブール値を入れることはできません。あなたはオブジェクトしか持てません。 –

答えて

2

ありがとうnsnumbe rオブジェクトに格納し、samlの代わりにnsnumberオブジェクトを格納します。辞書にブール値を入れることはできません。あなたはオブジェクトしか持てません。

これを試してみてください:

- (void)loginWithSamlToken:(BOOL)saml credentialToken:(NSString *)credentialToken completionHandler:(METLogInCompletionHandler)completionHandler { 

    NSNumber *boolNumber = [NSNumber numberWithBool:saml]; 
    [self loginWithMethodName:@"login" parameters:@[@{@"saml": boolNumber}, @{@"credentialToken": credentialToken}] completionHandler:completionHandler]; 
} 

はまた、あなたは、単に(@でSAMLを囲むことができ)、それはNSNumber object.Soこの{@"saml": saml}は*削除

+0

ありがとうございました – KML

+0

もっと簡単な方法があります: '@ {@" saml ":@(saml)}'。 'BOOL'値を' @() 'で囲みます。これにより、対応する 'NSNumber'オブジェクトが作成されます。 – rmaddy

+0

コメントありがとうございました。私はそれを私の答えに加えます。 –

関連する問題