Ios Xcode 5:在UITableViewController和UICollectionViewController之间不使用Segue传递数据
我是法国人,很抱歉我的英语不好 我想传递数据Ios Xcode 5:在UITableViewController和UICollectionViewController之间不使用Segue传递数据,ios,objective-c,xcode5,uitableview,pass-data,Ios,Objective C,Xcode5,Uitableview,Pass Data,我是法国人,很抱歉我的英语不好 我想传递数据NSString*cellSelected。 这是我的代码,谢谢你告诉我怎么回事:) 第二类: #import "PhotoCategoryViewController.h" @interface PhotoViewController : UICollectionViewController <UICollectionViewDataSource> @property (nonatomic, strong) NSStrin
NSString*cellSelected
。
这是我的代码,谢谢你告诉我怎么回事:)
第二类:
#import "PhotoCategoryViewController.h"
@interface PhotoViewController : UICollectionViewController <UICollectionViewDataSource>
@property (nonatomic, strong) NSString *cellSelected;
- (void)viewWillAppear:(BOOL)animated
{
NSLog(@"%@", self.cellSelected);
}
#导入“photocegoryviewcontroller.h”
@接口PhotoViewController:UICollectionViewController
@属性(非原子,强)NSString*cellSelected;
-(无效)视图将显示:(BOOL)动画
{
NSLog(@“%@”,自选择);
}
第一个NSLog是正确的,但第二个(传递的数据)返回:“nil”…:(欢迎来到Stackoverflow:)
第二类:
@property (nonatomic, readwrite, copy) NSString *cellSelected;
您需要使用readwrite
指定要从外部写入
还有
copy
,为了确保NSString
的值被复制,而不是被引用,这可能会丢失(这部分在过去的一年中让我非常头疼:)您的代码没有意义,这里有几个问题:
嘿,谢谢你的回复!:)但我在PhotoViewController.h(第二个类)中添加了:“@property(nonatomic,readwrite,copy)NSString*cellSelected;”,并再次返回nil:(有争议,因为我说过默认情况下它是readwrite。这肯定不是问题的根源。@Viny76因为没有segue,所以从来不会显示ViewController,甚至不应该调用
视图将出现
。对于当前调试,请尝试用(void)替换(void)视图将出现:(BOOL)动画
viewDidLoad
@thedp与viewDidLoad相同:(他不必通过segue让它做他想让它做的事。我知道,但我不知道他是如何展示它的,因为他的代码没有展示出来。我只是指出,如果他使用segue来展示它,那么这就可以解释问题了。NSLog
在视图中将出现…如果有,它甚至会被调用吗没有segue?这就是为什么我想知道他是如何呈现它的。如果他正在推送或呈现他初始化的PhotoViewController实例,那么这应该是可行的,但是由于代码不在那里,我假设他可能正在处理一个案例,在这个案例中他正在初始化一个不同的视图控制器实例,然后呈现什么。然后c您是否解释了PhotoViewController的接口问题?它看起来像是一个实现文件,一直到#导入PhotoViewController.h文件。您确定要在PhotoViewController的公共标头中声明属性吗?如果从外部类设置,则不能使用类扩展名(您可以直接使用KVC,但这不是您正在做的事情)。
@property (nonatomic, readwrite, copy) NSString *cellSelected;