Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何在类之间使用NSString?_Objective C_Class_Nsstring - Fatal编程技术网

Objective c 如何在类之间使用NSString?

Objective c 如何在类之间使用NSString?,objective-c,class,nsstring,Objective C,Class,Nsstring,我有两个类,类A和类B,它们都是UIViewController的子类 我有一个NSString,我想在B类中使用这个NSString 类别A.h: @class ClassB; @interface ClassA : UIViewController { ClassB *classB; NSString stringA; } @property (nonatomic, retain) ClassB *classB; @property (nonatomic, retain) NSS

我有两个类,类A和类B,它们都是UIViewController的子类

我有一个NSString,我想在B类中使用这个NSString

类别A.h:

@class ClassB;
@interface ClassA : UIViewController {
   ClassB *classB;
   NSString stringA;
}
@property (nonatomic, retain) ClassB *classB;
@property (nonatomic, retain) NSString *stringA;

@end
A.m类:

stringA = [NSString stringWithString:webView.request.URL.absoluteString];
B.h类:

@class ClassA;
@interface ClassA : UIViewController {
   ClassB *classA;
   NSString stringB;
}
@property (nonatomic, retain) ClassB *classA;
@property (nonatomic, retain) NSString *stringB;

@end
B.m类:

- (void)viewWillAppear:(BOOL)animated { 
self.stringB = classA.stringA;
}
当然,我为这两门课都导入了。 由于某些原因,我总是为stringB获取NULL I classB


谢谢

以下内容尚不清楚:

  • mainViewController
    实际上是
    ClassA
    的实例吗
  • classA
    甚至是
    classA
    的一个实例,正如您声明的那样,它是
    ClassB
    的一个实例吗
  • 你真正的代码是什么,因为你粘贴在这里的东西不能编译
  • ClassA
    对象的生命周期中,您是否初始化
    stringA
  • 在您尝试在
    ClassB
    对象中使用它之前,是否发生过这种情况

我想评论一件事,您很有可能保留CLASSINLOOP,而ClassA保留ClassB,ClassB保留ClassA。他们什么时候发布

第二件事是:

A.m类:

stringA = [NSString stringWithString:webView.request.URL.absoluteString];
stringA=[nsstringwithstring:webView.request.URL.absoluteString]

改为:

self.stringA=[nsstringwithstring:webView.request.URL.absoluteString]

而[NSString stringWithString:]返回的对象被设置为自动释放,您需要保留它以确保您拥有有效的字符串实例


请提供更多代码

一,。很抱歉,我编辑了代码,因为我已将其更改为ClassA和ClassB。2.四号。我没有初始化stringA如果你没有初始化stringA,为什么它的值在分配给stringB时为零会令人惊讶呢?实际上我初始化了字符串,下面是字符串的代码:-(void)shareLeftAction:(id)sender{self.stringA=webView.request.URL.absoluteString;[self-presentModalViewController:sharingController动画:是];}然后会向UIViewController显示字符串值。感谢您的帮助,这是我能提供的最相关的代码