我試圖在視圖之間傳遞一個自定義類。我已經設置屬性爲類,但是當我訪問屬性,這些屬性總是返回null:iOS/iPhone - 在視圖之間傳遞自定義對象。對象返回始終爲空
firstview.m:
- (void)initNextEventView{
NSDate *eventDate = [eventDatePicker date];
NSString *eventName = eventNameTextfield.text;
LocateEventViewController *locView = [[LocateEventViewController alloc]init];
locView.eventDTO.name = eventName;
locView.eventDTO.date = eventDate;
[[self navigationController] pushViewController:locView animated:YES];
}
LocateEventVC.h(2視圖):
@interface LocateEventViewController : UIViewController<MKMapViewDelegate, UISearchBarDelegate, BSForwardGeocoderDelegate>
@property (strong, nonatomic) IBOutlet UIImageView *imageBackground;
@property (strong, nonatomic) EventDTO *eventDTO;
所以當我登錄的一個屬性eventDTO返回null ..
任何幫助將是偉大的
編輯1(2。視圖): 那我怎麼登錄:
NSLog(@"name on 2. view: %@", eventDTO.name);
self.eventDTO.place = tmpEventPlace;
// init friends view!
//passing to next view
EventMembersViewController *members = [[EventMembersViewController alloc]init];
members.eventDTO = self.eventDTO;
EventDTO.h
@interface EventDTO : NSObject
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) UserDTO * creatorIsAppUser;
@property (nonatomic, retain) ContactDTO * creatorIsNotAppUser;
@property (nonatomic, retain) NSString * description;
@property (nonatomic, retain) NSDate * date;
@property (nonatomic, readwrite) NSInteger *eventID;
@property (nonatomic, retain) CustomPlacemark * place;
@property (nonatomic, retain) NSMutableArray *invitedMembers;
@property (nonatomic, retain) NSMutableArray *acceptedMembers;
- (NSNumber*)getLatidude;
- (NSNumber*)getLongitude;
EventDTO.m
@synthesize place, date, eventID, name, acceptedMembers, description, invitedMembers;
- (NSNumber*)getLatidude{
return [NSNumber numberWithDouble:place.coordinate.latitude];
}
- (NSNumber*)getLongitude{
return [NSNumber numberWithDouble:place.coordinate.longitude];
}
謝謝..它做到了...... ty。但我想知道爲什麼?爲什麼我不需要初始化一個NSSTring例如? – SaifDeen 2013-04-25 19:53:04
您可以通過多種方式初始化字符串。其中之一就是做如下的事情:'NSString * myString = @「Hello,World!」;'。我假設你做了一些像SomeViewConroller.someString = @「Hello,Universe」;'。因此,通過向屬性添加@String,它可以同時初始化。這是一個非常短暫的,但我應該可以理解的。 – Philip 2013-04-25 19:55:15
btw感謝所有的快速回復..愛那個地方<3 – SaifDeen 2013-04-25 19:56:36