Solved

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

Posted on 2010-11-09
1
1,895 Views
Last Modified: 2012-05-10
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
Comment
Question by:154115
1 Comment
 

Accepted Solution

by:
154115 earned 0 total points
ID: 34115165
I found out myself. It was because I didn't use the main class in my project. Now it works perfectly.
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

816 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now