无法在UIViewController中设置NSString属性

时间:2013-10-21 22:16:59

标签: objective-c ios7

我不确定这里发生了什么,但是我无法将字符串传递到正被推送到NavigationController的视图中。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
InventoryInquiryViewController *listViewController = (InventoryInquiryViewController *)[storyboard instantiateViewControllerWithIdentifier:@"InventoryList"];

[listViewController setItemBalanceRecords: self.itemBalanceRecords];  //this is an NSMutableArray and it works
[listViewController setItemNumber: @"Not Working!"]; //this is an NSString and it remains nil
[self.navigationController pushViewController:listViewController animated:YES];

因此,即使我指定了一个字符串文字,尝试设置一个简单的字符串属性也会失败,因此传入数组正在按预期工作。我对这个问题缺乏想法。

修改

我已更新代码以删除描述问题。代码缩短了,因为我正在尝试设置几个字符串值。修改后的代码仍然显示相同的行为。

修改

它们被声明为这样的属性:

@property (nonatomic, strong) NSArray *itemBalanceRecords;
@property (nonatomic, strong) NSString *itemNumber;

该应用程序仅供内部企业使用,仅支持ios7。

2 个答案:

答案 0 :(得分:2)

尝试将属性从描述重命名为其他内容。描述是NSObject属性(它是UIViewController的超类)并且具有相同名称的属性可能会导致奇怪的行为,例如您所描述的。

答案 1 :(得分:1)