我有TableViewController&视图控制器。
Airports.h
@interface Airports : UITableViewController
@property(strong, nonatomic) NSNumber* latitude;
@property(strong, nonatomic) NSNumber* longitude;
@property(strong, nonatomic) NSString* selectedAirportName;
@end
Airports.m
以下是设置纬度,经度& selectedAirportName 属性。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSArray *airportNames = airportsArray[indexPath.row];
self.selectedAirportName = [airportNames valueForKey:@"$"];
NSArray *airportCoordinates = airportsCoordinates[indexPath.row];
self.latitude = [airportCoordinates valueForKey:@"Latitude"];
self.longitude = [airportCoordinates valueForKey:@"Longitude"];
}
行选择将用户转发到ViewController,其中我有一个实例,该实例根据所选行中的信息显示带有标记的GoogleMap。如何让该实例访问纬度,经度&来自机场类的 selectedAirportName 属性?实际上,我想知道如何公开这些属性以便在 didSelectRowAtIndexPath 实例和 Airports 类之外使用它们。
我只是一个初学者。所以不要开枪打我:)。
答案 0 :(得分:1)
您应创建一个单独的对象,使用Google地图将您希望传递的数据映射到viewcontroller,也可以称之为Airport。
然后,当您从第一个视图控制器(机场)推送segue时,您可以将此对象传递给prepareforsegue方法中的视图控制器。
答案 1 :(得分:0)
在你的ViewController.h
看起来像这样:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property NSNumber* airportLatitude;
@property NSNumber* airportLongitude;
@end
然后在Airports.m
中,当您实例化ViewController
时,可以像这样设置ViewController
的值:
ViewController *view = [[ViewController alloc] init];
view.airportLatitude = [NSNumber numberWithInt:1];
view.airportLongitude = [NSNumber numberWithInt:1];