【问题标题】:Program to pass string from one view to another?将字符串从一个视图传递到另一个视图的程序?
【发布时间】:2010-08-07 14:18:51
【问题描述】:

我有一个包含两个视图的 iphone 应用程序 第一个视图有一个按钮,现在 单击该按钮时,我想在第二个视图上显示该按钮的标题。
我该怎么做,因为如果我们将标题保存到一个字符串中,当加载第二个视图时该字符串会被清空?

【问题讨论】:

  • 请不要滥用模组标志。如果您想关注这个问题,请添加赏金。
  • 在什么情况下应该使用mod标志?
  • 这是一个很好的 PDF,用于开始“Xcoders” -- macxfire.com/documentation/BecomeAnXcoder.pdf
  • 请谁投反对票,请给出理由,以便我纠正我的错误
  • 我不知道我的问题有什么问题,因为它有两个反对意见?我想知道是否有人关心

标签: iphone objective-c xcode ipad


【解决方案1】:

在界面中声明字符串并创建一个属性:

 @interface MyViewController : UIViewController {


   NSString *string_i_want_to_set;  

 }

 @property (nonatomic, retain) NSString *string_i_want_to_set;

 @end

在实现中合成@implementation MyViewController 之后的字符串,如下所示:

 #import "MyViewController.h"


 @implementation MyViewController

 @synthesize string_i_want_to_set;

 // OTHER CODE HERE...

 @end

然后,当您分配/初始化视图控制器时,您可以像这样设置属性:

MyViewController *myVC = [[MyViewController alloc] init];
myVC.string_i_want_to_set = @"...."

希望这可以为您提供更多详细信息。

谢谢 詹姆斯

【讨论】:

  • 对此答案的一些建议:您不需要为属性声明 ivar,通常 Cocoa / CocoaTouch 开发人员使用 camelCase 而不是 underscores_between_words,通常字符串属性被声明为“复制”而不是'retain',无论哪种方式,你都应该在 dealloc 中释放你的字符串属性。
【解决方案2】:

您可以制作第二个视图的对象并可以将字符串传递给它

view2object.view2string=@"anything" 或 label.text;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    相关资源
    最近更新 更多