Tag: nsobject

将generics应用于variables和函数 – Swift

我试图在swift中使用generics,以初始化Vector3D类中的variables。 然而,分配协议'数字'给我的variables(使其成为一个双或浮动),我得到以下错误: Protocol“Number”只能用作通用约束,因为它具有Self或相关types的要求 public protocol Number { func +(l: Self, r: Self) -> Self } extension Double : Number {} extension Float : Number {} class Vector3D: NSObject { var xCord: Number var yCord: Number var zCord: Number func Vector3D(x: [Number], y: [Number], z: [Number]) { self.xCord = x self.yCord = y self.zCord = z […]

iOS存储对象数组

在我的应用程序中,我实现了几个tableviewcontrollers,为每个单元显示一个NSObject。 每个tableviewcontroller都有不同的“filter”应用于数组,所以每个表都显示这些对象的特定组。 在每个tableviewcontroller的viewdidload我从NSUserdefaults加载我的数组,过滤它,并显示它。 这工作得很好,我正在使用NSCoder获取对象进行编码/解码存储。 仅用于开发目的,我编程创build每个对象(initWithName:(NSString *)名称等),将所有对象添加到数组并将其存储。 但我相信这不是最终的解决scheme。 问题:我正在寻找一种方法来实现这个对象的数组,而不用手工创build每个对象的代码。对象的数量是固定的,它们的内容不能改变。 他们只需要加载。 添加:也许在将来的更新中,我将添加新项目的列表。 我该怎么做? 所以我实现了@Luke史密斯说,它完美的作品! 谢谢! NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"MyPlist" ofType:@"plist"]; NSArray *allElements = [[NSArray alloc] initWithContentsOfFile:plistPath]; for (NSDictionary *newObject in allElements){ Object *tempObject = [[Object alloc] init]; tempObject.Type = [newObject objectForKey:@"Type"]; tempObject.isFavorite = [newObject objectForKey:@"isFavorite"]; [Elements addObject:tempObject];//MutableArray storing all Elements } 但是,当我做了一些头脑风暴,我得出结论,我需要编辑一些条目。 不幸的是,因为.plist是在MainBundle它不可编辑…是否有可能从一开始(可能在xcode)将.plist存储在文档目录? 这是我的.plist: <plist […]

如果没有find结果,则对象筛选器将崩溃

我已经写了一些代码来查找用户的自定义对象数组中的collections夹。 它工作绝对正常,除非该对象不存在,在这种情况下,它只是崩溃。 我正在考虑以不同的方式完全重写代码,但我想可能有一种方法来解决它…我只是不知道如何。 这是我的代码: override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("rideCell", forIndexPath: indexPath) as! RideCell var ride = DataManager.sharedInstance.getRideByName(favouritesArray[indexPath.row] as! String) if ride != nil { cell.rideNameLabel.text = ride!.name var dateFormat = NSDateFormatter() dateFormat.dateFormat = "h:mm a" cell.updatedLabel.text = dateFormat.stringFromDate(ride!.updated!) if ride!.waitTime! == "Closed" { cell.waitTimeLabel.text = ride!.waitTime! […]

检查自定义对象数组是否包含具有特定date的对象

我有一个event objects的数组。 该对象有几个属性。 其中一个属性是NSDate eve_date 。 现在我想检查该对象数组是否包含某个NSDate d 我正在做以下 if([[matches valueForKey:@"eve_date"] containsObject:d]){ NSLog(@"contains object"); }else{ NSLog(@"does not contains object"); } 但是这不起作用。 谁能帮我 ? 亲切的问候 编辑 好吧,让我更清楚。 我正在制作一个日历应用程序。 我提取了特定月份内的所有事件。 我现在需要做的是在正确的date在我的日历上放置一个标记。 所以我有这个function。 NSLog(@"Delegate Range: %@ %@ %d",start,end,[start daysBetweenDate:end]); self.dataArray = [NSMutableArray array]; self.dataDictionary = [NSMutableDictionary dictionary]; NSDate *d = start; while(YES){ for (Event *event in matches) { […]

自定义对象在创build后清空

我有一个自定义对象:扩展NSObject Vendor 。 我是这样开始的: NSDictionary *vendorObj = [vendors objectAtIndex:i]; Vendor *vendor = [[Vendor alloc] initWithVendorInfo:vendorObj]; NSLog(@"VendorObj: %@", vendorObj); NSLog(@"Vendor: %@", vendor); 这是类的样子: @interface Vendor : NSObject @property (nonatomic, copy) NSString *name; @property (nonatomic, copy) NSString *description; – (id)initWithVendorInfo:(NSDictionary *)vendorDetails; @end @implementation Vendor – (id)initWithVendorInfo:(NSDictionary *)vendorDetails { self = [super init]; if(self) { _name = [vendorDetails[@"company_name"] […]

如何删除具有相同的属性值,但在NSMutableArray中的一个对象

我有一个URLstring属性和标题的历史对象。 我想search包含searchstring的url的所有历史logging,然后删除所有重复项。 例如:我有一组历史对象,其中20个都是“ https://www.google.com ”,4个是“ https://www.google.com/#q=search ”,我想要只有一个对象的url值为“ https://www.google.com ”,一个url值为“ https://www.google.com/#q=search ”的数组返回 这是我当前的代码,它search历史logging并返回匹配string的所有对象: – (NSArray *)historyObjectsContainingQuery:(NSString *)query { NSMutableArray *matchingObjects = [[NSMutableArray alloc] init]; HistoryManager *HM = [HistoryManager sharedInstance]; for (int i=0; i<[[HM history] count]; i++) { //History "days" HistoryObject *historyItem = HistoryObject([[HistoryManager sharedInstance] history][i]); for (int o=0; o<[historyItem.objects count]; o++) { //Each object inn each […]

如何configurationNSURLSessionConfiguration到NSObject类?

我想从NSObject得到服务器响应,当我得到一个响应,它已经返回到viewController.as我实现服务器调用到NSObject类然后我调用NSObject方法,但在服务器响应我的NSString已经返回为null 。 NSObject class : @interface getServerCallClassMethod : NSObject<NSURLSessionDelegate> { NSString *ResponceStr; } -(NSString *)getServerCall:(NSString *)mobleNo serverUrl:(NSString *)url; @end 实施部分: @implementation getServerCallClassMethod -(NSString *)getServerCall:(NSString *)mobleNo serverUrl:(NSString *)url{ NSURLSessionConfiguration *sessionConfig=[NSURLSessionConfiguration defaultSessionConfiguration]; NSURLSession *urlSession=[NSURLSession sessionWithConfiguration:sessionConfig delegate:self delegateQueue:[NSOperationQueue mainQueue]]; NSURL *servrurl=[NSURL URLWithString:GetOTP]; NSURLSessionDataTask *dataTask=[urlSession dataTaskWithURL:servrurl completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable connectionError) { […]

在NSObject类中使用AVAudioPlayer播放audio

为了组织事情,我决定创build一个名为SoundPlayer的类,在那里运行我的应用程序中的所有audio文件。 (这将避免有许多重复的代码) SoundPlayer.h #import <Foundation/Foundation.h> #import <AVFoundation/AVFoundation.h> #include <AudioToolbox/AudioToolbox.h> @interface SoundPlayer : NSObject <AVAudioPlayerDelegate> @property (strong,nonatomic) AVAudioPlayer *backgroundMusicPlayer; -(void)PlaySound:(NSString*)name extension:(NSString*)ext loops:(int)val; @end SoundPlayer.m #import "SoundPlayer.h" @implementation SoundPlayer -(void)PlaySound:(NSString *)name extension:(NSString *)ext loops:(int)val{ NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:name ofType:ext]; NSURL *soundPath = [[NSURL alloc] initFileURLWithPath:soundFilePath]; NSError *error; self.backgroundMusicPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundPath error:&error]; self.backgroundMusicPlayer.numberOfLoops = […]

创build一个与NSJSONSerialization dataWithJSONObject一起使用的对象:options:error:

目前为了使用这个function,我把我的对象“转换”成一个字典。 即属性名称成为键,属性值成为值。 有没有办法正确做到这一点,使一个对象将与此function? 即类似于encodeWithCoder和initWithCoder用于NSUserDefaults 。 我想做… NSData *data = [NSJSONSerialization dataWithJSONObject:myObject options:0 error:nil]; 此刻我做了一些像… NSData *data = [NSJSONSerialization dataWithJSONObject:[myObject dictionaryRepresentation] options:0 error:nil];

如何保存和读取NSObject

我有两个NSObject的。 @interface Car : NSObject{ @property (strong) NSSet *cars; } 和 @interface Model : NSObject{ @property (strong) UIImage *picture; @property (strong) NSString *name; } 基本上对象汽车有NSSet汽车和NSSet汽车的每个对象有属性图片和名字。 我怎么能关联这两个NSObject的,如何使用模型NSObject的属性保存一个string或图像到汽车NSSet。 谢谢。