• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1930
  • Last Modified:

Connect picker view to my second View in interface builder (XCode)

I have an Xcode project where I'm having two different views. On my second view I want to change some settings. Therefore I added a picker view (you know the wheel where values can be selected). I have tried to connect a picker to an application with a single view. Thats no problem at all.

I created these two connections:

A connection from the dataSource to the File's owner
A connection from the delegate to the File's owner.


When I try to connect the picker the same way in the second view of an application with two views it doesn't work with the dataSource set to Files owner. If I connect this way the application simply will not start.

How should I connect the dataSource of my picker in the second view in interface builder to be able to see the data in the picker?

I'm almost certain that the connection is the problem.

I attached code from the Filtering class (both .h and .m file). This class should be used to add data to the picker but it does not work. I also added a screenshot of how the structure is in Interface builder.

I really hope you can help me.
#import "Filtrering.h"

@implementation Filtrering

- (void)viewDidLoad { // When the view loads, run this action.
	[super viewDidLoad]; // This NEEDS to be here or the application will not work!
	
	
	pickerViewArray = [[NSMutableArray alloc] init]; // This will allocate tableViewArray.
	for(int i = 1; i <= 20; i ++) { // Set 'i' to every number from 1 and 20.
		NSString *myString = [NSString stringWithFormat:@"%d%%", i]; // Create a new string that will display the number 'i' followed by a percent sign.
		[pickerViewArray addObject:myString]; // Add the string to the tableViewArray. 
	}
}

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView { // This method needs to be used. It asks how many columns will be used in the UIPickerView
	return 1; // We only need one column so we will return 1.
}

- (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component { // This method also needs to be used. This asks how many rows the UIPickerView will have.
	return [pickerViewArray count]; // We will need the amount of rows that we used in the pickerViewArray, so we will return the count of the array.
}

- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { // This method asks for what the title or label of each row will be.
	return [pickerViewArray objectAtIndex:row]; // We will set a new row for every string used in the array.
}

@end

Open in new window

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>

@interface Filtrering : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate>
{
	IBOutlet UIPickerView * tipPicker;
	NSMutableArray * pickerViewArray;
}

@end

Open in new window

interface-builder.jpg
0
154115
Asked:
154115
1 Solution
 
154115Author Commented:
I found out myself. It was because I didn't use the main class in my project. Now it works perfectly.
0

Featured Post

[Webinar On Demand] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now