gpt4 book ai didi

objective-c - Noob 需要帮助设计数据模型和 Controller

转载 作者:行者123 更新时间:2023-12-03 16:47:22 26 4
gpt4 key购买 nike

免责声明:我已经学习 Objective C/Cocoa 大约两个月了,我向自己保证,我会一直尝试自己找到答案,而不是用愚蠢的菜鸟问题堵塞互联网。此时我只是感到困惑,我想此时我会从提问中受益。我提前道歉。

问题:我正在尝试编写一个名为“My Dream Garage”的主从风格应用程序(这仅用于练习)。基本上我想存储汽车对象及其属性。我有一个“汽车”类,如下所示:

#import <Foundation/Foundation.h>

@interface Car : NSObject
@property (nonatomic, strong) NSString *brand, *model, *trimLevel;
@property (nonatomic, strong) NSNumber *modelYear, *engineSizeinL, *weight;
@property (nonatomic, strong) id image;
@end

在我的主 .XIB 文件中,我有一个 NSTableView 和一堆文本标签,它们将显示每个属性(以及图像的图像井)。

我的问题是如何存储这些数据?我了解 NSArray、NSDictionary、ArrayController 和 DictionaryController 分别是什么。我只是对如何让它们一起工作有点困惑。当我添加新的“汽车”时,我是否应该用它的属性实例化一个新的“汽车”对象?此时,我是否将新对象添加到数组中,然后释放创建的“汽车”对象?我是否将表格 View 和文本标签链接到 NSDictionary Controller ?我什至不确定此时我应该问什么。

也许我有点不知所措。除了 Apple 的文档(非常好,但对于业余爱好者来说太冗长)之外,还有什么建议可以学习如何创建与此类似的应用程序?

非常感谢任何帮助。谢谢。

最佳答案

这里有很多问题:

您想永久存储它们吗?如果是这样,你需要开始学习Core Data。

Car 类的实现文件是什么样的?您(或正在)如何实例化和初始化一个新对象?

我的类对象通常看起来像这样:

界面:

@interface UserInfo : NSObject {
NSString *_networkID;
NSString *_displayName;
NSString *_userDomain;
BOOL _loggedIn;
}
@property(nonatomic,strong) NSString *networkID;
@property(nonatomic,strong) NSString *displayName;
@property(nonatomic,strong) NSString *userDomain;
@property(nonatomic) BOOL loggedIn;

-(id) initWithUserNetworkID:(NSString *)networkID
displayName:(NSString *)displayName
userDomain:(NSString *)userDomain;

@end

实现:

#import "UserInfo.h"

@implementation UserInfo

@synthesize networkID = _networkID;
@synthesize displayName = _displayName;
@synthesize loggedIn = _loggedIn;
@synthesize userDomain = _userDomain;


-(id) initWithUserNetworkID:(NSString *)networkID
displayName:(NSString *)displayName
userDomain:(NSString *)userDomain {

if ((self = [super init])) {
_networkID = [networkID copy];
_displayName = [displayName copy];
_userDomain = [userDomain copy];
_loggedIn = YES;
}

return self;
}

@end

我将使用如下代码创建一个新的:

UserInfo *myUserInfo = [[UserInfo alloc] 
initWithUserNetworkID:[loginDictionary objectForKey:@"NetworkID"]
displayName:[loginDictionary objectForKey:@"DisplayName"]
userDomain:[loginDictionary objectForKey:@"UserDomain"]];

关于objective-c - Noob 需要帮助设计数据模型和 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11728789/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com