2013-12-11 46 views
0

我試圖將視圖的標題存儲到NSString中,但在一個視圖的類方法中用於另一個視圖,但我不能訪問標題。我的代碼是這樣的:如何從另一個UIView訪問UIView標題屬性?

第一視點:

+(NSString*)title 
{ 
    NSString * strTitle = self.title; 
    return strTitle; 
} 

所以,任何人都可以幫我嗎?

謝謝! 。 。 。

+0

想想看:有你的應用中有許多看法。類方法應該返回哪個標題? –

+0

第一視圖。 –

+0

@hussainShabbir你已經更新了什麼? –

回答

2

你無法從類方法訪問實例變量。所以你必須改變你的方法作爲一個實例方法

-(NSString*)title { 
    NSString *strTitle = self.title; 
    return strTitle; 
} 

此外請確保您在調用此方法之前設置此另一個viewcontroller的標題。 如果您想將此數據傳遞給另一個UIView類,那麼您必須爲此類UIView類創建標題屬性。初始化這個UIView的對象後,你可以通過這個對象設置這個title屬性。

+0

好吧,我知道,但那麼我怎麼能將這些數據傳遞給另一個UIView? –

+0

你想將屏幕的標題(第一視圖)改爲另一個屏幕嗎? – jailani

+0

我需要的是從第一個視圖獲取標題並將其加載到另一個視圖中的tableview單元格中。 –

0

它們不可能找到.xib文件名的名稱。

+0

我正在使用故事板。 –

1

您可以將視圖的標題設置爲viewTitle並從中獲取。

static NSString * viewTitle = nil ; 
+ (NSString *)title { 
    return viewTitle ; 
} 
+0

@Popeye我已經更新了我的答案! – KudoCC

+0

KudoCC我得到:「實例變量」viewTitle「在類方法中訪問所以,不工作 –

+0

@MarcoAlmeida它在我的XCode上成功建立,一定有錯誤 – KudoCC

1

代碼在secondviewcontroller使用:

@interface SecondViewController() 

@property(nonatomic,strong) NSString *titleString; 
@end 


@implementation ViewController 

@synthesize titleString; 

守則firstviewcontroller使用:

SecondViewController * controllerObj =[[SecondViewController alloc]init]; 

controllerObj.titleString=NSStringFromClass([self class]); 

[self.navigationController pushViewController:controllerObj animated:YES]; 
+0

請正確格式化你的答案 – Popeye

+0

可以使用titleString在第二視圖控制器 –

+0

再次請格式化您的答案 – Popeye