SwiftDictionaryオブジェクトを作成しました
var params = ["first_name": firstNameTextField.text,
"last_name": lastNameTextField.text,
"company": companyTextField.text,
"email_address": emailTextField.text,
"phone_number": phoneTextField.text]
次に、Swiftアプリに接続したObjCフレームワークがあります。プロパティを持つオブジェクトが内部にあります
@property (nonatomic, retain) NSMutableDictionary *fields;
私はそれをこのように割り当てようとしています
object.fields = params
そしてエラーが発生しました:
Cannot convert the expression's type '()' to type 'NSMutableDictionary!'
私もこのようにしようとしました
var params = ["first_name": firstNameTextField.text,
"last_name": lastNameTextField.text,
"company": companyTextField.text,
"email_address": emailTextField.text,
"phone_number": pnoneTextField.text].mutableCopy() as NSMutableDictionary
object.fields = params
正常にコンパイルされましたが、ランタイムエラーが発生しました:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]:
attempt to insert nil object from objects[0]'
すべてのフィールドを印刷しましたが、nilではありません。
println(firstNameTextField.text)
println(lastNameTextField.text)
println(companyTextField.text)
println(emailTextField.text)
println(pnoneTextField.text)
...
1
2
3
5
4
何か案は?
試してみてくださいparms.bridgeToObjectiveC()
。ただし、NSMutableDictionaryではなくNSDictionaryが提供される場合があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加