将NSString传递给NSObject

时间:2014-01-15 17:54:29

标签: ios objective-c

我很难弄清楚如何将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中的this方法到viewController但是NSObject不能正常工作:(

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个

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

抱歉没有正确阅读问题

答案 1 :(得分:0)

如果您正在通过segue推送/呈现视图控制器,并且您想要将一些数据发送到目标视图控制器。就像你想设置一些属性一样,你需要实现这个方法。 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;
        }
    }