哇!终于到了obj-c编程系列的第15篇喽,一路走过来满不容易的哦!(怎么个意思,这才哪到哪啊! ),为了能够更好的练习obj-c在Cocoa框架上的编程,接下来会以N篇Cocoa实例的博文来巩固和记忆前面和新学到的东西啊!
这15“章”的第1篇,我用一个简单的mac os x程序来开头吧,使用Xcode6beta(以后均称为x6b)编写,主要为Random类,其方法seed与按钮"reset random seed"绑定,方法generate与按钮"show rand number"绑定;其实例变量text_fIEld与NSTextFIEldCell控件绑定。为了增加趣味性,每当按下按钮会随机挑选系统中存在的一种语句报随机数,不多说了,下面上代码:
comm.h
//// comm.h// mac_test//// Created by kinds on 14-7-4.// copyright (c) 2014年 kinds. All rights reserved.//#import <Foundation/Foundation.h>#define msg(...) NSLog(__VA_ARGS__)
Random.h
//// Random.h// mac_test//// Created by kinds on 14-7-4.// copyright (c) 2014年 kinds. All rights reserved.//#import "comm.h"#import <Cocoa/Cocoa.h>@interface Random : NSObject{ IBOutlet NSTextFIEld *text_fIEld;}-(IBAction)seed:(ID)sender;-(IBAction)generate:(ID)sender;@end
Random.m
//// Random.m// mac_test//// Created by kinds on 14-7-4.// copyright (c) 2014年 kinds. All rights reserved.//#import "Random.h"@implementation Random{ NsspeechSynthesizer *speech; NSArray *voices;}-(ID)init{ self = [super init]; if(self){ speech = [[NsspeechSynthesizer alloc] initWithVoice:nil]; voices = [NsspeechSynthesizer availableVoices]; msg(@"%@",voices); } return self;}-(voID)set_voice{ int IDx = (int)(random() % [voices count]); [speech setVoice:[voices objectAtIndex:(NSUInteger)IDx]];}-(IBAction)generate:(ID)sender{ int i = (int)(random() % 100000000000) + 1; msg(@"i = %d",i); [text_fIEld setIntValue:i]; [self set_voice]; [speech startSpeakingString:[Nsstring stringWithFormat:@"%i",i]];}-(IBAction)seed:(ID)sender{ srandom((unsigned)time(NulL)); Nsstring *str = @"the seed is reseted!"; [text_fIEld setStringValue:str]; [speech startSpeakingString:str];}-(voID)awakeFromNib{ NSDate *Now = [NSDate date]; [text_fIEld setobjectValue:Now];}@end
窗口布局如下:
程序执行界面如下,我恨不得做一个带声音的视频(看来本猫想多了):
总结
以上是内存溢出为你收集整理的obj-c编程15[Cocoa实例01]:一个会发声的随机数生成器全部内容,希望文章能够帮你解决obj-c编程15[Cocoa实例01]:一个会发声的随机数生成器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)