我不确定这里发生了什么,但是我无法将字符串传递到正被推送到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。
答案 0 :(得分:2)
尝试将属性从描述重命名为其他内容。描述是NSObject
属性(它是UIViewController
的超类)并且具有相同名称的属性可能会导致奇怪的行为,例如您所描述的。
答案 1 :(得分:1)
description是所有NSObject子类的方法,因此不应该根据自己的需要使用它 https://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/Protocols/NSObject_Protocol/Reference/NSObject.html#//apple_ref/occ/intfm/NSObject/description