将一个 NSString 复制到另一个 Xcode
Copying one NSString into other one Xcode
我在 Xcode.I 中遇到问题,我正在尝试将一个 NSString 复制到另一个 NSString 中,但无法正常工作。
原来的NSString pageTitle在RestViewController上:
这是我的 RestViewContoller.h:
#import <UIKit/UIKit.h>
#import "Restaurant.h"
@interface RestViewController : UIViewController
@property (strong, nonatomic) IBOutlet UILabel *TitleLabel;
@property (strong, nonatomic) IBOutlet UILabel *DescriptionLabel;
@property (strong, nonatomic) IBOutlet UIImageView *ImageView;
@property (nonatomic, strong) Restaurant *DetailModal;
@property (nonatomic, strong) NSString *pageTitle;
@property (nonatomic, strong) NSString *pageDescription;
@end
我要保存数据的NSString在RestViewController上:
@property (nonatomic, strong) Restaurant *DetailModal;
但属于餐厅 class 类型。
我的餐厅 class 是:
Restaurant.h:
#import <Foundation/Foundation.h>
@interface Restaurant : NSObject
@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *desc;
@property (nonatomic, copy) NSString *image;
- (instancetype)init:(NSString *)title descripiton:(NSString *)description image:(NSString *)image;
@end
Restaurant.m:
#import "Restaurant.h"
@implementation Restaurant
- (instancetype)init:(NSString *)title descripiton:(NSString *)description image:(NSString *)image {
self = [super init];
if (self != nil) {
self.title = title;
self.desc = description;
self.image = image;
}
return self;
}
@end
最后我要复制这个 NSStrings 的地方是我的 RestViewController.m:
#import "RestViewController.h"
#import <QuartzCore/QuartzCore.h>
@interface RestViewController ()
@end
@implementation RestViewController
- (void)viewDidLoad {
[super viewDidLoad];
_pageTitle = @"Test";
_DetailModal.title = _pageTitle;
NSLog(@"_DetailModal.title: %@", _DetailModal.title);
}
@end
问题是当我看到
的结果时
NSLog(@"_DetailModal.title: %@", _DetailModal.title);on the console,
it puts me:
2016-11-21 11:42:05.407 MadEat[3667:104028]
_DetailModal.title: (null)
我能做什么?我知道我的 Xcode 水平很低,但我需要你的帮助。非常感谢。
在使用对象之前,您必须先创建它。
DetailModal *detailModal = [DetailModal new];
这样将创建对象并保留存储到 class 属性的值。
尝试:
_DetailModal.title = [[NSString alloc] initWithString: _pageTitle];
(没有测试这个)
首先初始化数据模型的实例。
然后进行赋值
_DetailModal = [[DetailModal alloc] init:_pageTitle descripiton:@"Desc" image:@"image"];
已经定义了一个实例方法来完成任务。
在此之后您还可以通过
更改值
_DetailModal.title = @"title_of_yours"
plz chek you _DetailModal 不是 nil
如果它是 nil 那么
首先你需要为你的 DetailModal Class 对象分配内存
像这样
DetailModal *detailModal = [DetailModal new];
然后设置你想要的值后
detailModal.title = _pageTitle;
如果必须使用 detailmodal,则必须分配餐厅 class 对象 (detailmodal)。那么只能使用对象了。
detailmodal=[[restaurant alloc]init];
detailmodal.title=_pagetitle;
我在 Xcode.I 中遇到问题,我正在尝试将一个 NSString 复制到另一个 NSString 中,但无法正常工作。
原来的NSString pageTitle在RestViewController上: 这是我的 RestViewContoller.h:
#import <UIKit/UIKit.h>
#import "Restaurant.h"
@interface RestViewController : UIViewController
@property (strong, nonatomic) IBOutlet UILabel *TitleLabel;
@property (strong, nonatomic) IBOutlet UILabel *DescriptionLabel;
@property (strong, nonatomic) IBOutlet UIImageView *ImageView;
@property (nonatomic, strong) Restaurant *DetailModal;
@property (nonatomic, strong) NSString *pageTitle;
@property (nonatomic, strong) NSString *pageDescription;
@end
我要保存数据的NSString在RestViewController上:
@property (nonatomic, strong) Restaurant *DetailModal;
但属于餐厅 class 类型。
我的餐厅 class 是: Restaurant.h:
#import <Foundation/Foundation.h>
@interface Restaurant : NSObject
@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *desc;
@property (nonatomic, copy) NSString *image;
- (instancetype)init:(NSString *)title descripiton:(NSString *)description image:(NSString *)image;
@end
Restaurant.m:
#import "Restaurant.h"
@implementation Restaurant
- (instancetype)init:(NSString *)title descripiton:(NSString *)description image:(NSString *)image {
self = [super init];
if (self != nil) {
self.title = title;
self.desc = description;
self.image = image;
}
return self;
}
@end
最后我要复制这个 NSStrings 的地方是我的 RestViewController.m:
#import "RestViewController.h"
#import <QuartzCore/QuartzCore.h>
@interface RestViewController ()
@end
@implementation RestViewController
- (void)viewDidLoad {
[super viewDidLoad];
_pageTitle = @"Test";
_DetailModal.title = _pageTitle;
NSLog(@"_DetailModal.title: %@", _DetailModal.title);
}
@end
问题是当我看到
的结果时NSLog(@"_DetailModal.title: %@", _DetailModal.title);
on the console, it puts me:
2016-11-21 11:42:05.407 MadEat[3667:104028] _DetailModal.title: (null)
我能做什么?我知道我的 Xcode 水平很低,但我需要你的帮助。非常感谢。
在使用对象之前,您必须先创建它。
DetailModal *detailModal = [DetailModal new];
这样将创建对象并保留存储到 class 属性的值。
尝试:
_DetailModal.title = [[NSString alloc] initWithString: _pageTitle];
(没有测试这个)
首先初始化数据模型的实例。
然后进行赋值
_DetailModal = [[DetailModal alloc] init:_pageTitle descripiton:@"Desc" image:@"image"];
已经定义了一个实例方法来完成任务。
在此之后您还可以通过
更改值_DetailModal.title = @"title_of_yours"
plz chek you _DetailModal 不是 nil
如果它是 nil 那么
首先你需要为你的 DetailModal Class 对象分配内存
像这样
DetailModal *detailModal = [DetailModal new];
然后设置你想要的值后
detailModal.title = _pageTitle;
如果必须使用 detailmodal,则必须分配餐厅 class 对象 (detailmodal)。那么只能使用对象了。
detailmodal=[[restaurant alloc]init];
detailmodal.title=_pagetitle;