老粗ios学习笔记-ui开发xib篇

本文详细介绍使用XIB文件在iOS应用中实现一个窗口打开另一个窗口的过程。从创建ViewController类开始,逐步介绍如何关联XIB文件,实现按钮点击事件及窗口间的跳转。适合iOS初学者参考。

想实现一个窗口打开另一个窗口,看cordova里都是xib窗口就没有用storyboard,所以东拼西凑写了下面的代码.

1.创建对应的ViewController.h 继承于UIViewController 

#import <UIKit/UIKit.h>
@interface LoginViewController : UIViewController
{
}
@end


2.创建ViewController.m(开始还仿照工程中的主界面,重写了viewDidLoad 等方法,发现没有毛用,反正暂时啥都不初始化,老子就想看看怎么打开一个窗口.)

(吐槽一下各位大侠的例子,全是一来一大篇,我就是一个粗人,一次只能记住10-20行代码,如果把所有例子都写成hello world,让老粗一个个堆成我要的业务就行了)

#import <Foundation/Foundation.h>
#import "LoginViewController.h"
@interface LoginViewController (){}
@end
@implementation LoginViewController
//下面代码开始的的时候不用写,是拖动生成的.
//- (IBAction)butClick:(id)sender {
//  [self dismissModalViewControllerAnimated:YES]; //发现这个方法被弃用,所以找了另外一个代替
//    [self dismissViewControllerAnimated:YES completion:nil];
//}
//end不是自动生成的,要写.(ios怎么不弄个窗口模板,啥都要自己写,真的很C++)
@end


3.创建了一个View.xib

在点击xib文件中的File's Owner,在右边的选择器 id inspector 中找到 Custom Class,将值Class设置为,刚才创建的ViewController,这样就建立xib文件与h文件的关联关系.

有了这步才可能进行连线.

4.选择connection inspector选择器,Outlets中会出现view,点击右边的圆圈,拖到View上面(Plcacholders ,File's Owner,First Responder 的下面那个View),

让代码里的View与xib的view进行关联,有了这个关联,你就可以做xib view中的控件连线了.

5.找到窗口右上的那个Show Assistant editor,点击,你会看到这个窗口关联的h文件.(多点两次,避免关联窗口没有刷新,显示的是其他的非关联的h文件)

6.在xib中拖入一个button.你将在View下面看到这个控件,在控件上点击鼠标右键,找到Touch Down(点击事件),按住不放拖到  @implementation 与@end之间,如下:

@implementation xxxViewController 

这个位置

@end之间

然后随便取个名字(不要给我提命名规范,刚学ios我啥都不懂,也不知为毛拉过去随便命名就可以用),你就看到自动会生成下面的代码:

- (IBAction)mm:(id)sender {

//在这里面可以写点击事件触发的事情.

}

7.我在里面写了就一句,关闭窗口.(代码都是网上找的,知道xib是老东西,找到的过时的方法,看着警告不爽,换了一个新方法,实现窗口关闭)

// [self dismissModalViewControllerAnimated:YES]; //发现这个方法被弃用,所以找了另外一个代替
 [self dismissViewControllerAnimated:YES completion:nil];

都是看的xcode3,4的教程,在xcode6.1上写的,发现图标都差不多,下篇试试窗口间传参数,


8.忘了加上如何打开窗口

//随便一个窗口引用一下刚才的ViewController的头文件,再写个按钮的点击事件,这样调用就行了,myView2是我们创建的xib文件名
    LoginViewController *loginController = [[LoginViewController alloc] initWithNibName:@"myView2" bundle:nil];//(如果直接init,可以用代码自定义窗口代码,先学简单的吧,代码创建控件空了再吹)
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:loginController];
    [self presentViewController:navigationController  animated:YES  completion:nil];


### Matlab 中的数据清洗与预处理方法 #### 数据清洗 数据清洗是指通过一系列操作去除或修正错误、不一致或冗余的数据。以下是几种常见的数据清洗技术及其在 MATLAB 中的应用: 1. **删除重复项** 使用 `unique` 或 `rmmissing` 函数可以轻松移除数据集中的重复记录或含有缺失值的行/列。例如,假设有一个矩阵 `data` 需要清理其中的重复行: ```matlab cleanedData = unique(data, 'rows'); ``` 2. **填充缺失值** 对于存在 NaN 的数据,可以选择用均值或其他统计量替代。MATLAB 提供了多种方式完成此任务,比如使用 `fillmissing` 函数: ```matlab dataWithFilledValues = fillmissing(data, 'constant', mean(data(:))); ``` 这里选择了全局平均值作为替换策略[^1]。 3. **检测并剔除异常值** 利用标准差法或者 IQR 法识别离群点,并将其标记为无效或直接删除。以下是一个基于 Z-score 的例子: ```matlab zScores = abs(zscore(data)); cleanData = data(zScores < 3); % 只保留Z分数小于3的部分 ``` #### 数据转换 为了使输入更适合后续算法的要求,往往还需要执行某些形式的数据变换。 1. **归一化 (Normalization)** 将数值范围缩放到特定区间(通常是 [0,1]),有助于提高计算效率以及防止大数淹没小数现象的发生。 ```matlab normalizedData = normalize(data); ``` 2. **标准化 (Standardization)** 把每维特征调整到零均值单位方差状态,尤其适用于距离度量敏感型的学习器。 ```matlab standardizedData = zscore(data); ``` #### 特征工程 除了基础层面的操作之外,高级别的特性构建也是不可或缺的一环。 1. **降维处理** 主成分分析(Principal Component Analysis, PCA)是一种常用的技术手段用来降低维度的同时尽可能保持原有信息含量不变。 ```matlab coeff = pca(data); reducedDimData = data * coeff(:,1:k); % k表示目标维度数目 ``` 以上便是围绕着 MATLAB 展开的一些典型做法介绍[^2][^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值