开发者

How do I pass a string or data object between two view controllers?

In my last question I asked how to best send a string from one view controller to another, both which were on a na开发者_开发技巧vigation stack: Pass string from tableviewcontroller to viewcontroller in navigation stack

However I just realised I can either pass the path to the file in the app's document's folder as the first (the table view) has already accessed the data in the file should I pass viewcontroller the data to the pushed VC?


Passing a reference would be less overhead than reinitializing a fresh object in the child view controller.

Set up a retain property in the child view controller for the NSString instance.

In the parent view controller, instantiate the child view controller and set its string property equal to the string you want to pass it:

childViewController.myStringProperty = parentViewControllerString;

As this increments the retain count of the string, you're not recreating the object, just keeping a reference to it.

You could instead retain an NSData instance, if you wanted. This would be less of a hit than recreating it in the child v.c.


My first thought is that you should pass say the NSData object to the pushed view controller. If it's not too large it will save you from loading it again.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜