1. 01-导航实例-QQ空间.zip
    62.4 KB
  2. // MJLoginViewController.h

    Map

  3. //
  4. //  MJLoginViewController.h
  5. //  01-导航实例-QQ空间
  6. //
  7. //  Created by apple on 13-12-10.
  8. //  Copyright (c) 2013年itcast. All rights reserved.
  9. // 登录界面
  10. #import<UIKit/UIKit.h>
  11. @interfaceMJLoginViewController : UIViewController
  12. //登录
  13. - (IBAction)login;
  14. @property(weak,nonatomic)IBOutlet UITextField *qqField;
  15. @property(weak,nonatomic)IBOutlet UITextField *pwdField;
  16. @end
  17. // MJLoginViewController.m

    Map

  18. //
  19. //  MJLoginViewController.m
  20. //  01-导航实例-QQ空间
  21. //
  22. //  Created by apple on 13-12-10.
  23. //  Copyright (c) 2013年itcast. All rights reserved.
  24. //
  25. #import"MJLoginViewController.h"
  26. #import"MJAboutViewController.h"
  27. #import"MJHomeViewController.h"
  28. @interfaceMJLoginViewController ()
  29. @end
  30. @implementationMJLoginViewController
  31. - (void)viewDidLoad
  32. {
  33.     [superviewDidLoad];
  34.    
  35.    // 1.标题
  36.    self.title =@"登录界面";
  37.    
  38.    // 2.右边的“关于”按钮
  39.    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@“关于" style:UIBarButtonItemStyleBordered target:selfaction:@selector(jump2about)];
  40.    
  41.    // 3.设置返回按钮的文字
  42.    self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回"style:UIBarButtonItemStyleBordered target:nilaction:nil];
  43. }
  44. #pragma mark跳到“关于”页面
  45. - (void)jump2about
  46. {
  47.    // 1.创建
  48.     MJAboutViewController *about = [[MJAboutViewController alloc] init];
  49. //    about.title = @"关于------";
  50.    
  51.    // 2.压入栈
  52.     [self.navigationController pushViewController:about animated:YES];
  53. }
  54. #pragma mark弹框
  55. - (void)alert:(NSString *)msg
  56. {
  57.     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"友情提示"message:msg delegate:nilcancelButtonTitle:@"好的"otherButtonTitles:nil,nil];
  58.     [alert show];
  59. }
  60. #pragma mark登录
  61. - (IBAction)login {
  62.    // 1.判断有无QQ和密码
  63.    if(_qqField.text.length ==0) {//没有QQ
  64.         [self alert:_qqField.placeholder];
  65.        return;
  66.     }
  67.    
  68.    if(_pwdField.text.length ==0) {//没有密码
  69.         [self alert:_pwdField.placeholder];
  70.        return;
  71.     }
  72.    
  73.    // 2.能执行到这里,说明同时输入了QQ和密码。应该跳到下一个界面---首页界面
  74.     MJHomeViewController *home = [[MJHomeViewController alloc] init];
  75.     [self.navigationController pushViewController:home animated:YES];
  76. }
  77. @end
  78.  
  79. // MJAboutViewController.h

  80. //
  81. //  MJAboutViewController.h
  82. //  01-导航实例-QQ空间
  83. //
  84. //  Created by apple on 13-12-10.
  85. //  Copyright (c) 2013年itcast. All rights reserved.
  86. // 关于界面
  87. #import<UIKit/UIKit.h>
  88. @interfaceMJAboutViewController : UIViewController
  89. @property(weak,nonatomic)IBOutletUIWebView *webView;
  90. @end
  91. // MJAboutViewController.m

    Map

  92. //
  93. //  MJAboutViewController.m
  94. //  01-导航实例-QQ空间
  95. //
  96. //  Created by apple on 13-12-10.
  97. //  Copyright (c) 2013年itcast. All rights reserved.
  98. //
  99. #import"MJAboutViewController.h"
  100. @interface MJAboutViewController ()
  101. @end
  102. @implementation MJAboutViewController
  103. - (void)viewDidLoad
  104. {
  105.     [super  viewDidLoad];
  106.    
  107.    // 1.标题
  108.    self.title =@"关于";
  109.    
  110.    // 2.加载网页
  111.    // 2.1.获得about.html文件的URL
  112.     NSURL *url = [[NSBundle mainBundle] URLForResource:@"about.html"withExtension:nil];
  113.    
  114.    // 2.2.封装一个请求对象
  115.     NSURLRequest *request = [NSURLRequest requestWithURL:url];
  116.    
  117.    // 2.3.加载请求
  118.     [_webView loadRequest:request];
  119. }
  120. @end
  121. // MJEditViewController.h

    Map

  122. //
  123. //  MJEditViewController.h
  124. //  01-导航实例-QQ空间
  125. //
  126. //  Created by apple on 13-12-10.
  127. //  Copyright (c) 2013年itcast. All rights reserved.
  128. //
  129. #import<UIKit/UIKit.h>
  130. //@class MJHomeViewController;
  131. @class MJEditViewController, MJPerson;
  132. @protocol MJEditViewControllerDelegate <NSObject>
  133. @optional
  134. //- (void)editViewController:(MJEditViewController *)edit didSaveWithName:(NSString *)name intro:(NSString *)intro;
  135. - (void)editViewController:(MJEditViewController *)edit didSaveWithPerson:(MJPerson *)person;
  136. @end
  137. @interface MJEditViewController : UIViewController
  138. @property(weak,nonatomic)IBOutlet UITextField *nameField;
  139. @property(weak,nonatomic)IBOutlet UITextView *introView;
  140. @property(nonatomic,weak)id<MJEditViewControllerDelegate> delegate;
  141. @property(nonatomic,strong) MJPerson *person;
  142. //@property (nonatomic, strong) MJHomeViewController *home;
  143. @end
  144. // MJEditViewController.m

    Map

  145. //
  146. //  MJEditViewController.m
  147. //  01-导航实例-QQ空间
  148. //
  149. //  Created by apple on 13-12-10.
  150. //  Copyright (c) 2013年itcast. All rights reserved.
  151. //
  152. #import"MJEditViewController.h"
  153. #import"MJPerson.h"
  154. //#import "MJHomeViewController.h"
  155. @interfaceMJEditViewController ()
  156. @end
  157. @implementationMJEditViewController
  158. - (void)viewDidLoad
  159. {
  160.     [superviewDidLoad];
  161.    
  162.    // 1,标题
  163.    self.title =@"编辑个人信息";
  164.    
  165.    // 2.右上角的保存按钮
  166.    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"保存"style:UIBarButtonItemStyleDone target:selfaction:@selector(save)];
  167.    
  168.    // 3.取出模型数据,赋值到对应的子控件上面
  169.     _nameField.text = _person.name;
  170.     _introView.text = _person.intro;
  171. }
  172. //重写set方法在这里无效,因为内部的子控件还没有被创建
  173. //- (void)setPerson:(MJPerson *)person
  174. //
  175. //{
  176. //    _person = person;
  177. //   
  178. //    _nameField.text = person.name;
  179. //   
  180. //    _introView.text = person.intro;
  181. //}
  182. #pragma mark保存
  183. - (void)save
  184. {
  185. //    NSLog(@"%@ - %@", _nameField.text, _introView.text);
  186. //    _home.nameLabel.text = _nameField.text;
  187. //    _home.introView.text = _introView.text;
  188. //   
  189. //   
  190. //    [self.navigationController popViewControllerAnimated:YES];
  191.    
  192.    if([_delegate respondsToSelector:@selector(editViewController:didSaveWithPerson:)]) {
  193.        //封装模型
  194.         MJPerson *p = [MJPerson personWithName:_nameField.text intro:_introView.text];
  195.        //传递模型数据给代理
  196.         [_delegate editViewController:selfdidSaveWithPerson:p];
  197.        
  198.         [self.navigationController popViewControllerAnimated:YES];
  199.     }
  200. }
  201. @end
  202. // MJHomeViewController.h

    Map

  203. //
  204. //  MJHomeViewController.h
  205. //  01-导航实例-QQ空间
  206. //
  207. //  Created by apple on 13-12-10.
  208. //  Copyright (c) 2013年itcast. All rights reserved.
  209. //
  210. #import<UIKit/UIKit.h>
  211. @interfaceMJHomeViewController : UIViewController
  212. @property(weak,nonatomic)IBOutletUILabel *nameLabel;
  213. @property(weak,nonatomic)IBOutletUITextView *introView;
  214. - (IBAction)sendStatus;
  215. @property(weak,nonatomic)IBOutletUITableView *tableVIew;
  216. @end
  217. // MJHomeViewController.m

    Map

  218. //
  219. //  MJHomeViewController.m
  220. //  01-导航实例-QQ空间
  221. //
  222. //  Created by apple on 13-12-10.
  223. //  Copyright (c) 2013年itcast. All rights reserved.
  224. //
  225. #import"MJHomeViewController.h"
  226. #import"MJPerson.h"
  227. #import"MJStatus.h"
  228. #import"MJStatusViewController.h"
  229. #import"MJEditViewController.h"
  230. @interface MJHomeViewController () <UIActionSheetDelegate, MJEditViewControllerDelegate, MJStatusViewControllerDelegate, UITableViewDataSource>
  231. {
  232.     NSMutableArray *_statuses;//所有的说说
  233. }
  234. @end
  235. @implementation MJHomeViewController
  236. - (void)viewDidLoad
  237. {
  238.     [super viewDidLoad];
  239.    
  240.    // 1.标题
  241.    self.title =@"个人主页";
  242.    
  243.    // 2.右上角的编辑按钮
  244.    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:selfaction:@selector(jump2edit)];
  245.    
  246.    // 3.设置左上角的注销按钮
  247.    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"注销"style:UIBarButtonItemStyleBordered target:self action:@selector(logout)];
  248.    
  249.     _statuses = [NSMutableArray array];
  250. }
  251. #pragma mark注销
  252. - (void)logout
  253. {
  254.    /*
  255.      cancelButtonTitle:黑色
  256.      destructiveButtonTitle :红色
  257.      otherButtonTitles :白色
  258.      */
  259.     UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"是否要注销”delegate:self cancelButtonTitle:@"否"destructiveButtonTitle:@"是"otherButtonTitles:nil,nil];
  260.    
  261.     [sheet showInView:self.view];
  262. }
  263. #pragma mark - UIActionSheet的代理方法
  264. #pragma mark监听UIActionSheet的按钮点击
  265. - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
  266. {
  267.    if(buttonIndex ==1) return;
  268.    
  269.    //点击“是”
  270.    //栈顶控制器出栈
  271.     [self.navigationController popViewControllerAnimated:YES];
  272. }
  273. #pragma mark跳到编辑页面
  274. - (void)jump2edit  
  275. {
  276.     MJEditViewController *edit = [[MJEditViewController alloc] init];
  277.    
  278.     edit.delegate =self;
  279.    
  280.     edit.person = [MJPerson personWithName:_nameLabel.text intro:_introView.text];
  281. //    edit.view.backgroundColor = [UIColor blueColor];
  282. //    edit.nameField.text = _nameLabel.text;
  283. //    edit.introView.text = _introView.text;
  284.    
  285.     [self.navigationController pushViewController:edit animated:YES];
  286. }
  287. #pragma mark - MJEditViewController代理方法
  288. - (void)editViewController:(MJEditViewController *)edit didSaveWithPerson:(MJPerson *)person
  289. {
  290.    // 1.显示名称
  291.     _nameLabel.text = person.name;
  292.    
  293.    // 2.显示简介
  294.     _introView.text = person.intro;
  295. }
  296. - (IBAction)sendStatus {
  297.    //跳到写说说界面
  298.     MJStatusViewController *status = [[MJStatusViewController alloc] init];
  299.     status.delegate =self;
  300.     [self.navigationController pushViewController:status animated:YES];
  301. }
  302. #pragma mark - MJStatusViewController代理方法
  303. - (void)statusViewController:(MJStatusViewController *)statusController didSendStatus:(MJStatus *)status
  304. {
  305. //    NSLog(@"首页拿到了---%@", status.text);
  306.    
  307.    // 1.将新的说说对象插入数组的最前面
  308.     [_statuses insertObject:status atIndex:0];
  309.    
  310.    // 2.刷新表格
  311.     [_tableVIew reloadData];
  312. }
  313. #pragma mark -数据源方法
  314. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  315. {
  316.    return_statuses.count;
  317. }
  318. #pragma mark每一行显示怎样的cell(内容)
  319. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  320. {
  321.    // 1.定义一个标识
  322.    staticNSString *ID =@"cell";
  323.    
  324.    // 2.去缓存池中取出可循环利用的cell
  325.     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
  326.    
  327.    // 3.如果缓存中没有可循环利用的cell
  328.    if(cell ==nil) {
  329.         cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID];
  330.     }
  331.    
  332.    //取出模型
  333.     MJStatus *s = _statuses[indexPath.row];
  334.    
  335.     cell.textLabel.text = s.text;
  336.    
  337.     NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
  338.     fmt.dateFormat =@"yyyy-MM-dd HH:mm:ss";
  339.     cell.detailTextLabel.text = [fmt stringFromDate:s.time];
  340.    
  341.    returncell;
  342. }
  343. @end
  344. // MJPerson.h

    Map

  345. //
  346. //  MJPerson.h
  347. //  01-导航实例-QQ空间
  348. //
  349. //  Created by apple on 13-12-10.
  350. //  Copyright (c) 2013年itcast. All rights reserved.
  351. //
  352. #import<Foundation/Foundation.h>
  353. @interfaceMJPerson : NSObject
  354. @property(nonatomic,copy) NSString *name;
  355. @property(nonatomic,copy) NSString *intro;
  356. + (id)personWithName:(NSString *)name intro:(NSString *)intro;
  357. @end
  358. // MJPerson.m

    Map

  359. //
  360. //  MJPerson.m
  361. //  01-导航实例-QQ空间
  362. //
  363. //  Created by apple on 13-12-10.
  364. //  Copyright (c) 2013年itcast. All rights reserved.
  365. //
  366. #import"MJPerson.h"
  367. @implementation MJPerson
  368. + (id)personWithName:(NSString *)name intro:(NSString *)intro
  369. {
  370.     MJPerson *p = [[self alloc] init];
  371.     p.name = name;
  372.     p.intro = intro;
  373.    return p;
  374. }
  375. @end
  376. // MJStatus.h

    Map

  377. //
  378. //  MJStatus.h
  379. //  01-导航实例-QQ空间
  380. //
  381. //  Created by apple on 13-12-10.
  382. //  Copyright (c) 2013年itcast. All rights reserved.
  383. //
  384. #import<Foundation/Foundation.h>
  385. @interfaceMJStatus : NSObject
  386. @property(nonatomic,copy) NSString *text;
  387. @property(nonatomic,strong) NSDate *time;
  388. + (id)statusWithText:(NSString *)text;
  389. @end
  390. // MJStatus.m

    Map

  391. //
  392. //  MJStatus.m
  393. //  01-导航实例-QQ空间
  394. //
  395. //  Created by apple on 13-12-10.
  396. //  Copyright (c) 2013年itcast. All rights reserved.
  397. //
  398. #import"MJStatus.h"
  399. @implementationMJStatus
  400. + (id)statusWithText:(NSString *)text
  401. {
  402.     MJStatus *s = [[selfalloc] init];
  403.     s.text = text;
  404.     s.time = [NSDate date];
  405.    returns;
  406. }
  407. @end
  408. MJStatusViewController.h

    Map

  409. @classMJStatusViewController, MJStatus;
  410. @protocolMJStatusViewControllerDelegate <NSObject>
  411. @optional
  412. - (void)statusViewController:(MJStatusViewController *)statusController didSendStatus:(MJStatus *)status;
  413. @end
  414. @interfaceMJStatusViewController : UIViewController
  415. @property(nonatomic,weak)IBOutletUITextView *statusView;
  416. @property(nonatomic,weak)id<MJStatusViewControllerDelegate> delegate;
  417. @end
  418. // MJStatusViewController.m

    Map

  419. //
  420. //  MJStatusViewController.m
  421. //  01-导航实例-QQ空间
  422. //
  423. //  Created by apple on 13-12-10.
  424. //  Copyright (c) 2013年itcast. All rights reserved.
  425. //
  426. #import"MJStatusViewController.h"
  427. #import"MJStatus.h"
  428. @interfaceMJStatusViewController ()
  429. @end
  430. @implementationMJStatusViewController
  431. - (void)viewDidLoad
  432. {
  433.     [superviewDidLoad];
  434.    // 1.标题
  435.     self.title =@"写说说";
  436.    
  437.    // 2.右上角的发布
  438.    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"发布"style:UIBarButtonItemStyleDone target:selfaction:@selector(send)];
  439. }
  440. #pragma mark -发布
  441. - (void)send
  442. {
  443.    if([_delegate respondsToSelector:@selector(statusViewController:didSendStatus:)]) {
  444.        //给代理传递说说模型数据
  445.         MJStatus *s = [MJStatus statusWithText:_statusView.text];
  446.        
  447.         [_delegate statusViewController:selfdidSendStatus:s];
  448.        
  449.        //出栈
  450.         [self.navigationController popViewControllerAnimated:YES];
  451.     }
  452. }
  453. @end
  454. // MJAppDelegate.h

    Map

  455. //
  456. //  MJAppDelegate.h
  457. //  01-导航实例-QQ空间
  458. //
  459. //  Created by apple on 13-12-10.
  460. //  Copyright (c) 2013年itcast. All rights reserved.
  461. //
  462. #import<UIKit/UIKit.h>
  463. @interfaceMJAppDelegate :UIResponder<UIApplicationDelegate]] > 
  464. @property(strong,nonatomic)UIWindow*window;
  465. @end
  466. // MJAppDelegate.m

    Map

  467. //
  468. //  MJAppDelegate.m
  469. //  01-导航实例-QQ空间
  470. //
  471. //  Created by apple on 13-12-10.
  472. //  Copyright (c) 2013年itcast. All rights reserved.
  473. //
  474. #import"MJAppDelegate.h"
  475. #import"MJLoginViewController.h"
  476. @implementation MJAppDelegate
  477. - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
  478. {
  479.    self.window= [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
  480.    
  481.    
  482.    MJLoginViewController*login = [[MJLoginViewController alloc]init];
  483.    
  484.    //显示导航控制器
  485.    self.window.rootViewController= [[UINavigationController alloc] initWithRootViewController:login];
  486.    
  487.     [self.window makeKeyAndVisible];
  488.    return YES;
  489. }
  490. - (void)applicationWillResignActive:(UIApplication*)application
  491. {
  492.    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
  493.    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
  494. }
  495. - (void)applicationDidEnterBackground:(UIApplication*)application
  496. {
  497.    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
  498.    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
  499. }
  500. - (void)applicationWillEnterForeground:(UIApplication*)application
  501. {
  502.    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
  503. }
  504. - (void)applicationDidBecomeActive:(UIApplication*)application
  505. {
  506.    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
  507. }
  508. - (void)applicationWillTerminate:(UIApplication*)application
  509. {
  510.    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
  511. }
  512. @end

 

 

https://www.evernote.com/shard/s227/sh/a92a13e9-5997-487f-95e7-12d79fd88821/fb1289a310170e55d38903a59d39a941

01-导航实例-QQ空间Demo示例程序源代码的更多相关文章

  1. 03.WebView演练-iOS开发Demo(示例程序)源代码

    技术博客http://www.cnblogs.com/ChenYilong/   新浪微博http://weibo.com/luohanchenyilong   //转载请注明出处--本文永久链接:h ...

  2. iOS多线程 iOS开发Demo(示例程序)源代码

    本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址(2013年12月29日更新版)   iOS程序源代码下载链接:01.大任务.zip22 ...

  3. 代理设计模式iOS开发Demo(示例程序)源代码

        iOS程序源代码下载链接:03-代理设计模式.zip28.3 KB // main.m // //  main.m //  03-代理设计模式 // //  Created by apple ...

  4. 1210笔记//关于导航实例-QQ空间//导航实例-storyboard实现//控制器的生命周期//控制器的生命周期方法

      一.利用storyboard完成导航1.storyboard中用来跳转的每一根线 都是 一个 UIStoryboardSegue对象1> 自动跳转 (从 某个按钮 拖线到 下一个目的控制器) ...

  5. 01-QQ 3-最终重构版 Demo示例程序源代码

      源代码下载链接:01-QQ 3.zip292.5 KB // QQAppDelegate.h Map // //  QQAppDelegate.h //  01-QQ // //  Created ...

  6. 01-modal Demo示例程序源代码

    源代码下载链接:01-modal.zip37.8 KB // MJAppDelegate.h // //  MJAppDelegate.h //  01-modal // //  Created by ...

  7. 02-更改窗口的根控制器 Demo示例程序源代码

      源代码下载链接:02-更改窗口的根控制器.zip18.0 KB // MJAppDelegate.h // //  MJAppDelegate.h //  02-更改窗口的根控制器 // //  ...

  8. 归档普通对象Demo示例程序源代码

    源代码下载链接:06-归档普通对象.zip34.2 KB // MJPerson.h // //  MJPerson.h //  06-归档普通对象 // //  Created by apple o ...

  9. Python案例之QQ空间自动登录程序实现

    不多说,直接上干货! 工具选择: 电脑系统:win7,32 位,下面第二部安装SetupTools时注意系统版本要求: Python: 2.7.11,  相信只要是2.7的就可以实现: Seleniu ...

随机推荐

  1. 台湾ML笔记--1.1什么时候适合使用ML

    适用情况: 1 exists some 'underlying pattern' to be learned --so 'performance measure' can be imporoved 例 ...

  2. 超强排序JavaScript插件

    Sortable:http://rubaxa.github.io/Sortable/

  3. rails 中 preload、includes、Eager load、Joins 的区别

    Rails 提供了四种不同加载关联数据的方法.下面就来介绍一下. 一.Preload Preload 是以附加一条查询语句来加载关联数据的 User.preload(:posts).to_a # =& ...

  4. Java IO学习--输入输出流

    一.Java IO的定义 I/O:输入输出系统,由输入输出控制系统和外围设备两部分组成. Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输 ...

  5. Docker安装Zabbix全记录

    零.Zabbix架构设计 一.docker安装mysql 查找Docker Hub上的mysql镜像: [root@10e131e69e15 ~]# docker search mysql INDEX ...

  6. Bellman_ford标准算法

    Bellman_ford求最短路可以说这个算法在某些地方和dijkstra还是有些相似的,它们的松弛操作基本还是一样的只不过dijkstra以图中每个点为松弛点对其相连接的所有边进行松弛操作 而Bel ...

  7. 在ubuntu下 使用Jetty 和 Maven 开发 HelloWorld

    1 安装JDK 我以前安装过,这里就不说了. 2 安装maven 去官网下载 解压 添加环境变量   gedit ~/.bashrc export JETTY_HOME=/home/roc/libs/ ...

  8. [译]10个有关SCP的命令

    原文来源: https://www.tecmint.com/scp-commands-examples/ 基本语法 scp source_file_name username@destination_ ...

  9. 另外一种C#多选下拉框

    链接: https://pan.baidu.com/s/1tnLgC9P_V8y9qHTYSg8xGA 密码: cwxj

  10. 【iOS开发】创建单例的两种方法

    创建一个单例很多办法.我先列举一个苹果官方文档中的写法. [cpp] view plaincopy   static AccountManager *DefaultManager = nil; + ( ...