2014-01-15 58 views
-3

我很難搞清楚如何將NSString傳遞給NSObject類。將NSString傳遞給NSObject

我有一個.h和.m文件這是一個NSObject,我需要從一個UIViewController傳遞一個字符串。

這是我試圖推視圖時:

 NSString *urlString = @"TextHere"; 
     WXClient *svc = [[WXClient alloc]init]; 
     svc.urlOne = urlString 

然後,我檢索這樣說:

@interface WXClient : NSObject { 

    NSString *urlOne; 
    } 
    @property (strong, nonatomic) NSString *urlOne; 

,當然,再上.M:

@synthesize urlOne; 

然後使用的NSString:

NSString *urlString = [NSString stringWithFormat:urlOne]; 
    NSURL *url = [NSURL URLWithString:urlString]; 
    //blah blah blah blah... :D 
}]; 

但由於某種原因它返回null。我可以用這個方法從的viewController到的viewController但NSObject的不工作:(

任何想法?

謝謝!

+5

您從不分配和初始化'WXClient'實例。 – rmaddy

+0

你需要一個更新的教程。您不需要爲'urlOne'屬性顯式的ivar或'@ synthesize'行。 – rmaddy

+1

我建議回顧Objective-C的一些基礎知識。 – dandan78

回答

0

試試這個

 WXClient *svc = [[WXClient alloc]init]; 
     NSString *urlString = @"TextHere"; 
     svc.urlOne = urlString; 

對不起沒看過問題正確

+0

WXClient不是一個viewController。是一個NSObject。 –

+0

對不起.. @MichaelOrtiz更新了答案。檢查一次 –

+2

視圖控制器也是一個nsobject。 – vikingosegundo

0

如果您正在推送/呈現視圖控制器通過segue並且您想要發送一些數據到目標視圖con trller。就像你想設置一些屬性一樣,你需要實現這個方法。 prepareForSegue:sender:。 在這裏你可以得到目的地viewController並設置你想要的任何屬性。

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
    { 
     if ([[segue identifier] isEqualToString:@"weatherWXID"]) { 
      WeatherViewController *vc = [segue destinationViewController]; 
      NSString *urlString = @"TextHere"; 
      WXClient *svc = [WXCLient new]; 
      svc.urlOne = urlString 
      vc.wxclient = svc; 
     } 
    } 
相關問題