как разрешить двум ViewController использовать один NSObject

Если у вас есть один NSObject, который вы хотите, чтобы два ViewController могли использовать, как вы узнаете, какой ViewController вызывает его, поэтому, когда вы передаете какие-либо данные, которые вы вычисляете, вы передаете их обратно правильному ViewController.


person C.Johns    schedule 07.07.2011    source источник
comment
если быть честным. Я понятия не имею, что вы здесь спрашиваете. Может быть, вы перефразируете вопрос?   -  person num1    schedule 08.07.2011


Ответы (1)


Если вы хотите, чтобы возвращаемые данные изменялись в зависимости от вызывающего объекта, создайте метод в объекте, из которого вы извлекаете данные, а не напрямую обращайтесь к свойству.

В вашем NSObject у вас может быть метод, следующий этому формату (мой пример возвращает строку):

- (NSString *)getDataFor:(NSInteger)callingController {

    NSString *outputString = nil;

    if (callingController == 1) {
        // set value of output string for controller 1
    } else if (callingController == 2) {
        // set value of output string for controller 2
    }

    return outputString;

}

Затем из вашего контроллера представления вы просто вызываете метод с соответствующим идентификатором в качестве входных данных.

person Katfish    schedule 08.07.2011
comment
АХ ХА! это именно то, о чем я думаю... теперь, когда вы упомянули об этом, ахаха, большое спасибо. - person C.Johns; 08.07.2011
comment
А почему бы просто не использовать два метода, один getTheDataThatVC1Wants, а другой getTheDataThatVC2Wants? - person Hot Licks; 08.07.2011