Ios 从一个类访问另一个类中的数据变量

Ios 从一个类访问另一个类中的数据变量,ios,iphone,objective-c,Ios,Iphone,Objective C,在有人说这是一个类似或重复的xxxx问题之前,到目前为止,我已经检查了27个问题,其中没有一个能够清除我的查询并帮助我,很可能是因为没有人以最简单的形式发布问题 所以我在类1中有一个NS字符串,我在其中存储了一些数据 ##Class 1 .h @property ..... NSString *str; .m -(void) someMethod { self.str = @"Blah blah"; } 现在我想从类2中的属性“str”访问这个“废话”数据,而不通过任何方法或类

在有人说这是一个类似或重复的xxxx问题之前,到目前为止,我已经检查了27个问题,其中没有一个能够清除我的查询并帮助我,很可能是因为没有人以最简单的形式发布问题

所以我在类1中有一个NS字符串,我在其中存储了一些数据

##Class 1 
.h
@property ..... NSString *str; 

.m
-(void) someMethod { 

self.str = @"Blah blah"; 

} 
现在我想从类2中的属性“str”访问这个“废话”数据,而不通过任何方法或类似的方法传递它。我只需要在某个地方访问它(例如,让我们假设viewDidLoad)。最简单的方法是什么


PS:我想在appdelagate.m中创建一个*tempString变量,并通过创建一个AppleDelegate*apdg对象并访问它,在我想要的w/e类中访问它。还有其他想法吗?

SecondViewController.h

@property (nonatomic, copy) NSString *textblah;
FirstViewController.m

#import "SecondViewController.h"

// where you want to store value

SecondCiewController *secondViewController = [[SecondViewController alloc] init];
secondViewController.textblah = stringToStore;

// and 
[self.navigationController push:secondViewController animated:YES];

// You can log the set value with to check whether it was successful or not.
NSLog(@"textblah: %@", textblah);
为了完全理解代码和过程,您可以观看视频教程,如和


你会发现它们内容丰富,易于理解,特别是初学者

@Unheilig你认为我是如何存储数据的lol,ofc它被称为。并不是说数据不可访问,我想知道如何访问它。
不通过任何方法传递它
-为什么?你要求我们帮助你建造一些令人讨厌的东西,并说“请不要告诉我如何正确地做”。。。这不是应用程序代理的责任,也(可能)不应该用单例来完成。@Wain所以我需要访问
viewdiload
中的数据,或者说我不能手动调用的第三方控件/类的某个方法,您认为我将如何通过该方法传递它?我知道如何用方法传递,但这不是原因和问题所在。使用singleton类,将变量从一个类移动到任何其他类都很容易。那么这是什么文本?您是否应该将其存储在用户默认值中?具有文本的控制器通常会将其传递给需要它的控制器(特别是如果它是第三方控制器)。我知道这会起作用,在许多情况下使用它atm,但正如我所说的,我需要从自定义类访问第三方类代码中的数据。我不介意在第三方类而不是我自己的类中创建这个变量,但它会使数据管理有点麻烦。我自己的php API为游戏获取了一个独特的gameID,如第1类VC中所示。让我解释一下。文本是我从API获取的唯一ID,该ID对于视图的数据是唯一的(实际上是一个游戏数据)。我需要使用这个id/字符串的第三方类是一个包含多个类的反馈表单。我想已经存储在NSUserdefault中,但此str是临时使用的,每次加载视图时都会更改1
NSString
s应该是
copy
,而不是
strong
retain
。2.您不再需要
@synthesis
(编译器会为您这样做),但如果您确实需要
@synthesis textblah=_textblah
,以避免意外地直接访问实例变量。3.我不知道什么
NSLog(@”/@),textblah
应该这样做,但它没有记录
textblah
的值。要在字符串中使用变量,请使用
%@
,因此
NSLog(@“textblah:%@”,textblah)
@SaadChaudhry很抱歉花了很长时间来测试它,我忙着上课/其他事情和看tut,我可以通过你提到的代理单件方式和链接教程来完成这项工作,你能用tut链接和提及代理/单件方式对你的答案进行编辑吗,这可能会帮助其他偶然发现此错误的人,因为许多人可能看不到CommentGet错误:“MainViewController.m:54:32:No visible@interface for'UINavigationController'声明选择器‘push:animated:’