مشكلة الحصول على textfield.text من وحدة تحكم العرض الأخرى

StackOverflow https://stackoverflow.com/questions/2533346

سؤال

مرحبًا يا شباب ، أحاول إضافة إدخال textfield.text إلى صفيف. أريد سحب النص textfield.text من حقل نص في عرض آخر. هذا هو الكود الخاص بي.

- (void)addBookmark{

MultiViewViewController *mainView = [[MultiViewViewController alloc] init];
if (mainView.addressTextField.text.length>1) {

NSString *addedString = [[NSString alloc] initWithFormat:@"%@", mainView.addressTextField.text];
[bookmarksArray addObject:addedString];
NSLog(@"addBookmark being called %@", mainView.addressTextField.text);
}
[bmTableView reloadData];

}

يقول NSLOG أن mainview.addresstextfield.text هو (NULL). ما الخطأ الذي افعله؟

هل كانت مفيدة؟

المحلول

المشكلة التي أعتقد أنها تريد النص المكتوب في ملعب Textfield لوحدة التحكم في العرض الموجود في التسلسل الهرمي الخاص بك ، لذلك يجب أن تحصل على مرجع وحدة التحكم في العرض هذه.

لكن في حالة عدم الحصول على مرجع لكائن موجود ، بل تقوم بعمل كائن جديد

MultiViewViewController *mainView = [[MultiViewViewController alloc] init];

وهو ليس المثيل الذي يحتوي على نص في حقل النص الخاص به.

أتمنى أن يساعدك هذا.

شكرًا،

Madhup

نصائح أخرى

أود أن أرى طريقة init - (معرف) ، ولكن للوهلة الأولى ، يبدو أن OddressTextfield عبارة عن Nil Ivar ، وبالتالي فإن NSLog صحيحة.

كيف قمت بإنشاء حقل النص؟ هل تم إنشاؤه برمجيًا أم مع ملف XIB؟ إذا كان في ملف XIB ، فيجب عليك استدعاء initWithNibName: حزمة:

ال text خاصية uitextfield في لا شيء افتراضيا. لذلك إذا لم يكن هناك نص فيه ، فيجب أن يكون في الواقع لا شيء.

توثيق

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top