2012-04-09 5 views
0

Внимание: полный новичок Xcode вопрос.Создание объекта-объекта в Xcode: Программный сигнал: «SIGABRT»

В MainViewController.h у меня есть следующие строки:

IBOutlet WorkItem * m_WIone;

Я создал класс под названием WorkItem, который наследуется от UILabel. Строка выше - это то, что я могу использовать m_WIone (который в конечном итоге станет массивом таких объектов) в качестве переменной-члена во всем MainViewController.

Я пробовал различные способы для вызова WorkItem методы и, наконец, остановились на:

[m_WIone Сброс];

, где Reset - это метод WorkItem. Метод заявлен в WorkItem.h как:

- (void) Сброс;

и WorkItem.m как:

- (недействительными) Сброс {}

С или без содержания в этом методе, приложение всегда падает с:

Тема 1: Программный сигнал: «SIGABRT».

В лесозаготовках, я прочитал:

Согласующего приложение из-за неперехваченное исключение 'NSInvalidArgumentException', причина: '- [UILabel Сброс]: непризнанный селектор направлен например 0x6a5f9f0'

Как я могу это решить? Я даже правильно объявляю эту переменную-член? (Несмотря на траление через StackOverflow, я не могу найти решение.)

+0

Zaph: какой код следует добавить, который здесь не включен? Я думаю, что я добавил весь соответствующий код, кроме инструкции include. Есть ли что-то конкретное, например, из класса «WorkItem», который я должен добавить? – Wikis

+0

Код для WorkItem, экземпляр m_WIone, метод 'Reset'. Почему «IBOutlet», что вы ожидаете от этой строки? – zaph

+0

Спасибо, Заф, но на данный момент у меня есть отличный ответ. – Wikis

ответ

2

Вы указали свой собственный класс для NIB? Похоже, вы хотите, чтобы виджет в Interface Builder XCode использовал ваш собственный класс. Только класс по умолчанию (UILabel) будет создан вместо вашего пользовательского класса.

Нажмите на UILabel, который вы используете в качестве выхода, и измените класс (скриншот здесь для UITableView, но он должен работать так же для UILabel).

Custom Class Property

С этим, как говорится, есть альтернативы тому, что вы пытаетесь сделать. Вместо того, чтобы просто использовать UILabel (который вы в конечном итоге планируете создать из них). Почему бы не использовать UITableView и настроить ячейки на то, что вы считаете нужным (поскольку UITableViews оптимален для отображения списков элементов)?

+0

Спасибо, Джефф. Я рассмотрел и отклонил UITableViews некоторое время назад, но в свете вашего предложения я передумаю! – Wikis