2013-12-21 2 views
0

Это метод из Tapku, и я хочу, чтобы вызвать его из контроллераКак получить возвращаемое значение из функции другого класса в объективе-c?

- (NSDate*) dateSelected{ 
if(selectedDay < 1 || selectedPortion != 1) return nil; 

TKDateInformation info = [monthDate dateInformationWithTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; 
info.hour = 0; 
info.minute = 0; 
info.second = 0; 
info.day = selectedDay; 
NSDate *d = [NSDate dateFromDateInformation:info timeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; 


return d; 

}

И я пытаюсь вызвать его, как это и преобразовать его в формат строки.

TKCalendarMonthView *tk=[[TKCalendarMonthView alloc] init]; 
NSDate *date=tk.dateSelected;// How can I call it?With the debug it shows it's null. 
NSDateFormatter *selectedDate=[[NSDateFormatter alloc] init]; 
[selectedDate setDateFormat:@"yyyy-MM-dd"]; 
NSMutableString *stringDate=[NSMutableString stringWithFormat:@"%@",[selectedDate stringFromDate: date]]` 
+1

NSDate * date = [tk dateSelected]; – codeplasma

+0

Это не связано с Xcode. –

+0

Вам необходимо присвоить значение 'selectedDay' и' selectedPortion' в созданном вами объекте 'TKCalendarMonthView'. Кроме того, вы можете передать значения функции. –

ответ

0
NSDate *date= [tk dateSelected]; 

Делает вызов функции (строго говоря, передает объект сообщения). Синтаксис Dot предназначен только для getters/seters. Вначале я настоятельно рекомендую сначала прочитать об основных принципах.

+3

Но точечное обозначение, как правило, работает для беспараметрического метода. Есть еще одна проблема. –

+0

Изменение синтаксиса в этом случае не поможет. Параметры в целевой функции 'dateSelected' не инициализируются, поэтому эта проблема существует. –

+0

У меня это уже есть. – user3125258