警告

2011-08-12 25 views
1

私は自分のアプリケーションでpickerviewを使用して警告

@interface tweetViewController : UIViewController<UIPickerViewDataSource,UIPickerViewDelegate> { 
    NSArray* activities; 
    NSArray* feelings; 
} 
@property (nonatomic,retain) NSArray *activities; 
@property (nonatomic,retain)NSArray *fellings; 

を次のように.hファイルで、私は、コードを書かれているし、働く、次のように私はUIPickerviewDatasourceためmy.hファイル内のコードを書かれています細かい

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView 
{ 
    return 2; 
} 

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component 
{ 
    if(component==0) 
    { 
     return [activities count]; 
    } 
    else 
    { 
     return [feelings count]; 
    } 
} 

が、UIPickerViewDelegateの次のコードは、私は方法の閉じ括弧でMSGを警告示し

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component 
{ 
    switch (component) { 
     case 0: 
      return [activities objectAtIndex:row]; 


     case 1: 
      return [feelings objectAtIndex:row]; 
    } 
} 

plz私に問題を解決する方法を教えてください...

+0

可能な複製http://stackoverflow.com/questions/7025309/shows-warning-msg-at-the-end-of-the-uipickerviewdelegate-method – Devang

答えて

1

これは、コンパイラが何かを返すかどうかわからないためです。
あなたの方法は、以下のん:実践で

if case == 0: return [activities objectAtIndex:row]; 
if case == 1: return [activities objectAtIndex:row]; 

、これは常に値を返します。ただし、コンパイラはコードを完全に理論的にチェックし、ケースが0および1以外の整数である場合、メソッドは返されないことを確認します。

ボトムラインは、あなたがあなたのswitch - ブロック=)の後にreturn nil;を追加する必要があるということですので、あなたのメソッドは常に(nil、この場合には@""として解釈されます)を返します。

+0

これは本当にうまくいく....... – iPhone