2014-04-05 55 views
2

未找到屬性,所以我想設置一個浮點值到另一個視圖控制器,NewLinkViewController。iOS:在類型對象ViewController

這裏是我的代碼:

- (IBAction)selectSize:(id)sender { 
UIButton *selectSize = (UIButton *) sender; 
sizeChosen = [[[selectSize titleLabel] text] floatValue]; 
[self dismissViewControllerAnimated:YES completion:^{ 
    [mainController setMySizeLabel:sizeChosen]; 
    [NewLinkViewController.sizeChosen = sizeChosen]; 

}]; 

}

我得到這個錯誤:http://puu.sh/7WSA9.png(說 「財產 'sizeChosen' 不是類型的對象NewLinkViewController」發現「)

我明明有@property在我NewLinkViewController.h這樣的:

@property float sizeChosen; 

我做錯了什麼?

+2

您試圖在* class *上設置屬性,當您應該將其設置在NewLinkViewController的*實例*上時。您可能需要將該實例傳遞給正在執行「選擇」的視圖控制器。 (除非你真的用大寫字母命名實例變量,在這種情況下我錯了。) –

+0

嘗試:'@property(nonatomic,assign)CGFloat sizeChosen;' – klcjr89

回答

6

它看起來像你設置的類的屬性,而不是類的對象[NewLinkViewController.sizeChosen = sizeChosen];

更多了,如果使用點語法,你不需要方括號。

0

你可以試試這個

- (IBAction)selectSize:(id)sender { 
UIButton *selectSize = (UIButton *) sender; 
sizeChosen = [[[selectSize titleLabel] text] floatValue]; 
[self dismissViewControllerAnimated:YES completion:^{ 
    [mainController setMySizeLabel:sizeChosen]; 
    NewLinkViewController *newLinkController = [[NewLinkViewController alloc] init]; 
    newLinkController.sizeChosen = sizeChosen; 

}]; 
0

聲明你的財產像

@property (nonatomic, assign) float sizeChosen; 

並設置sizeChosen屬性類似下面

- (IBAction)selectSize:(id)sender { 
     UIButton *selectSize = (UIButton *) sender; 
     sizeChosen1 = [[[selectSize titleLabel] text] floatValue]; 
     [self dismissViewControllerAnimated:YES completion:^{ 
     [mainController setMySizeLabel:sizeChosen1]; 
     newLinkViewController.sizeChosen = sizeChosen1;//newLinkViewController should be the instance of NewLinkViewController 

    }]; 
1

您需要訪問浮動的變量屬性與實例的NewLinkViewController類,也作爲rounak建議不需要使用方形文胸訪問屬性方法時的ckets。 使用這樣如下: -

NewLinkViewController *newLinkVw=[[NewLinkViewController alloc] initWithNibName:@"yourVwNibnm" bundle:nil]; 
//now access your property 
    newLinkVw.sizeChosen=sizeChosen; 

注: - 請設置或訪問類的屬性之前肯定。你的類實例應該存在。