NSObject類使用NSString我有NSObject類是有一個叫NSString的tweetTitle;如何從多個類(視圖控制器)
TweetDesc.h文件
#import <Foundation/Foundation.h>
@interface TweetDesc : NSObject
@property (strong, nonatomic) NSString * tweetTitle;
-(void) setFullTweetTitle:(NSString *) fullTweetTitle;
@end
TweetDesc.m文件
@implementation TweetDesc
@synthesize tweetTitle;
-(void) setFullTweetTitle:(NSString *) fullTweetTitle
{
self.tweetTitle = fullTweetTitle;
}
@end
我有三個類(視圖控制器),FirstViewController,SecondViewController和ThirdViewController。
這裏有FirstViewController 的代碼FirstViewController.h
@interface TweetViewController : UIViewController <UITextViewDelegate>
@property (strong, nonatomic) NSString * tweet;
@property (weak, nonatomic) IBOutlet UITextView *tvTweetTitle;
- (IBAction)btnCreateTweet:(id)sender;
@end
FirstViewController.m
@implementation TweetViewController
@synthesize tvTweetTitle, tweet;
- (void)viewDidLoad
{
[super viewDidLoad];
self.tvTweetTitle.delegate = self;
}
- (IBAction)btnCreateTweet:(id)sender
{
tweet = [[NSString alloc]initWithFormat:@"%@", tvTweetTitle.text];
TweetDesc * td = [[TweetDesc alloc]init];
[td setFullTweetTitle:tweet];
SecondViewController * svc = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondViewController"];
[self.navigationController pushViewController:ivc animated:YES];
}
我的問題是:如何使用tweetTitle在第二和第三的ViewController而無需創建新實例TweetDesc類,並在每個ViewControler中再次設置tweetTitle。
在第二視圖控制器我想:
TweetDesc * td = [[TweetDesc alloc]init];
NSLog(@"%@", td.tweetTitle);
,但我得到空,似乎它已經被釋放或別的東西。
感謝提前的幫助。
for secondViewController當你寫'TweetDesc * td = [[TweetDesc alloc] init];'你還沒有分配任何值給實例變量'tweetTitle'因此爲空。如果你寫'[td setFullTweetTitle:@「some string」];'_THEN_它被分配一個值。 –