Ios 在UIPickerView选择的UITableView中选择对象

Ios 在UIPickerView选择的UITableView中选择对象,ios,objective-c,xcode,uitableview,uipickerview,Ios,Objective C,Xcode,Uitableview,Uipickerview,这是一个非常广泛的问题,而不是关于单个问题的具体问题。如果你不想帮助其中一个,这里是你的警告 我有一个带有拾取轮的视图。在这个分拣机上,我想要一份货船所有人的名单。当我按下OK按钮时,我希望UITableView由该所有者拥有的船只填充。不多,大约有5艘船。我希望表视图与选择器位于同一视图上 当我按下列表中的一艘船时,我希望被引导到另一个视图中,在那里我可以从另一个视图中添加变量号,如运输负载等 我知道如何从选择器生成、填充和提取数据,我不知道如何使用此数据以某种方式填充表,我不知道如何使用表上

这是一个非常广泛的问题,而不是关于单个问题的具体问题。如果你不想帮助其中一个,这里是你的警告

我有一个带有拾取轮的视图。在这个分拣机上,我想要一份货船所有人的名单。当我按下
OK
按钮时,我希望
UITableView
由该所有者拥有的船只填充。不多,大约有5艘船。我希望
表视图
与选择器位于同一视图上

当我按下列表中的一艘船时,我希望被引导到另一个视图中,在那里我可以从另一个视图中添加变量号,如运输负载等

我知道如何从选择器生成、填充和提取数据,我不知道如何使用此数据以某种方式填充表,我不知道如何使用表上的对象将我链接到视图,在该视图中,我可以根据发送数据的人设置不同的值

我不擅长编程,所以用代码提供完整的解决方案会很好!:)

编辑:到目前为止我拥有的代码

.h file
#import <UIKit/UIKit.h>
#import "StartupViewController.h"

@interface CargoViewController : UIViewController

@property(strong,nonatomic) IBOutlet UILabel *testLabel; //label I use to test stuff instead of LOG
@property(strong,nonatomic) IBOutlet UIButton *findOwner; //button to summon pickerWheel
@property(strong,nonatomic) IBOutlet UIButton *findShip; //Button to confirm selection in picker and unhide tableView
@property(strong,nonatomic) NSArray *boatOwners; //Array for boat owners.
@property(strong,nonatomic) NSMutableArray *boatsForOwner; //My idea was that when you select a owner, i have a if-else series, so say i select "Bob", I code to add his boats to the array. Does this work? IDK
@property(strong,nonatomic) IBOutlet UITableView *boatsTableView; //Table view
-(IBAction)findOwnerButtonPressed:(id)sender;
-(IBAction)findShipButtonPressed:(id)sender;
@property(strong, nonatomic) IBOutlet UIPickerView *shipOwners; //ship owner picker wheel

@end

在伪思维中,我认为你需要这样的东西

cargoshipOwner.h // Class that holds all details for a cargoship owner.
该类可能有一个属性

NSMutableArray *listOfCurrentlyOwnedShips;
其中包含:

cargoShip.h // CargoShip class.

NSInteger carriageLoad;
UIColor *shipColor;
NSString *model;
NSString *name;
听起来您想用
NSMutableArray
填充pickerview,填充
cargoshipOwners
,当选择一个时,您想通过 对象的属性
当前所有权列表
并填充
UITableView

运行完后,您可以使用
cargoship
对象轻松推送到
detailView
并对其进行操作

一旦您设置了
UITableViewDelegate
并且其功能正确,您应该在
.m
文件中具有以下功能

您需要使用函数
cellforrowatinexpath:
绘制单元格,示例如下:

-(UItableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexpath
{

    // Create a cell with 300 width and 80 height.
    UITableViewCell *cell = [[UITableViewCell alloc] initWithFrame:CGRectmake(0,0,300,80)]; 

    // Create a label.
    UILabel *lblCargoShipOwner = [[UILabel alloc] initWithFrame:CGRectMake(10,12,200,20)];
    lblCargoShipOwner.tag = 1;
    lblCargoShipOwner.textColor = [UIColor blackColor];
    lblCargoShipOwner.backGroundColor = [UIColor clearColor];    


    // Add it to your cell.
    [cell.contentView addSubView:lblCargoShipOwner];


    // Get the label.
    UILabel *textLabel = (UILabel *)[cell viewWithtag:1];

    // Add the owner's name to the label.
    textLabel.text = [[listOfCargoShipOwners objectAtIndex:indexPath.row]sName];

    // important to note is that listOfCargoShipOwners is your datasource.
}
填充
UITableView
后,您可以点击一个单元格并指定在
tableView:didselectrowatinexpath:
中发生的情况示例:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexpath *)indexPath
{

    // Push the owner's list of ships to a UITableViewController

    DetailViewController *dvc = [[DetailViewController alloc] initWithStyle:UITableViewStylePlain andCargoShipList: [[listOfCargoShipOwners objectAtindex:indexPath.row]listOfCurrentlyOwnedShips]];



}

免责声明:这是在没有任何形式的IDE的情况下编写的,因此它可能会编译,也可能根本不会编译。这也只是一个例子,代码本身可能会也可能不会针对您的特定问题进行优化

两个提示:

1。如果实现,则当用户在表视图中选择一行时,将通知您:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
因此,您可以相应地更改视图的内容,然后将该视图推送到您的应用程序中


2.检查以了解如何将内容放入表视图中

这和我想象的差不多。我最大的问题仍然是如何用不同的内容填充视图中的列表,而不是全屏列表。我在这方面找到的几乎所有的图坦卡门都离我需要的很远。再加上我对如何使用该表缺乏知识,而且只是一般的obj cI,稍后我将用更多的代码扩展我的文章,详细介绍如何填充和推送对象。你想要我已有的代码吗?没有太多,但仍然添加任何你认为与你的原始帖子相关的代码。你是在用书学习吗?我不是在学习。我所知道的资料来源是我在谷歌上找到的随机图坦卡蒙,雷·温德里奇的《面向初学者的Cocos2d》或其他什么,还有Techotopia的Obj-C基础知识,所以我对此一无所知,所以这就是为什么我这么差的原因。我建议看看BNR书籍:Will look@RamyAlZuhouriThanks,这对教育我这方面很有用
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;