【问题标题】:Cannot pass string through classes无法通过类传递字符串
【发布时间】:2010-10-05 19:26:53
【问题描述】:
//Initialize the detail view controller and display it.
OrderDetailsView *dvController = [[OrderDetailsView alloc] initWithNibName:@"OrderDetailsView" bundle:[NSBundle mainBundle]];
dvController.selectedOrder = (@"%@",selectedOrder);
[self.navigationController pushViewController:dvController animated:YES];
[dvController release];
dvController = nil;

似乎是什么问题?

我收到错误:无法设置对象 - 只读属性或未找到设置器

【问题讨论】:

    标签: iphone objective-c string nsstring


    【解决方案1】:

    在 OrderDetailsView.h 中添加以下内容:

    @property (nonatomic, retain) [TYPEOFSELECTEDORDER]* selectedOrder;
    

    在 OrderDetailsView.m 中:

    @synthesize selectedOrder;
    

    【讨论】:

      【解决方案2】:

      为了帮助您,我们需要 OrderDetailsView 标头内容(尤其是 selectedOrder 出现的部分)。

      鉴于错误,我会说您没有像这样在标题中声明该属性:

      @property(retain) NSString *selectedOrder;
      

      然后您可以自己在实现文件 (OrderDetailsView.m) 中为该属性定义 setter 和 getter,如下所示:

      - (NSString *) selectedOrder {
        // your getter implementation here
      }
      - (void) setSelectedOrder:(NSString *) value {
        // your setter implementation here
      }
      

      或者您可以在类实现的顶部使用@synthesize selectedOrder;。 鉴于您在@property 中提供的信息,@synthesize 将为您处理所有内存内容

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-10
        • 1970-01-01
        • 2014-08-11
        相关资源
        最近更新 更多