StackOverflow上关于iOS的票数最多(最常见)的15个问题

[已解决]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
查看查看196 回复回复2 收藏收藏 分享淘帖 转播转播 分享分享 微信
查看: 196|回复: 2
收起左侧

[已解决] StackOverflow上关于iOS的票数最多(最常见)的15个问题

[复制链接]
swifter 发表于 2016-7-18 17:11:02 | 显示全部楼层 |阅读模式
快来登录
获取优质的苹果资讯内容
收藏热门的iOS等技术干货
拷贝下载Swift Demo源代码
订阅梳理好了的知识点专辑

搞编程做项目的,没碰到bug、遇到问题,基本不可能。StackOverflow就是一个大型的开放的FAQ平台,你是问题制造者,也是答案提供者。本文列出至今StackOverflow上关于iOS的票数最高(最常见)的15个问题,仅为了大家能够更方便、直接、快速的找到自己想要的答案,也许其中某个(些)问题就是你已经碰到或者即将碰到的。

(这里的答案都是简单描述,有需要的话可以进入问题原页面查看详细答案)

StackOverflow上关于iOS的票数最多(最常见)的15个问题

StackOverflow上关于iOS的票数最多(最常见)的15个问题 - 敏捷大拇指 - StackOverflow上关于iOS的票数最多(最常见)的15个问题





1、怎么把UILabel的内容竖直方向靠上排列?

我们都知道NSTextAlignment有五个值:

[Objective-C] 纯文本查看 复制代码
NSTextAlignmentLeft; // 水平居左
NSTextAlignmentCenter; // 水平居中
NSTextAlignmentRight; // 水平居右
NSTextAlignmentJustified; // 合理铺满 等同于居左
NSTextAlignmentNatural; // 默认 等同于居左


却没有想要的竖直方向居上或者居下:
[Objective-C] 纯文本查看 复制代码
NSTextAlignmentTop;
NSTestAlignmentBottom;


默认都是竖直居中的,怎么实现居上或者居下?

答:

UILabel不能设置竖直方向的排列布局,但是可以通过sizeToFit改变label的frame来实现曲线救国。

Vertically align text to top within a UILabel




2、atomic和nonatomic的区别是什么?

如下,atomic和nonatomic在声明成员变量时有什么作用:

[Objective-C] 纯文本查看 复制代码
@property(nonatomic, retain) UITextField *userName;
@property(atomic, retain) UITextField *userName;
@property(retain) UITextField *userName;


答:

有了atomic,合成的setter/getter(非自己重写的)可以经常返回一个完整的值(来自getter或者setter),即便其他线程正在进行setter活动,nonatomic没有这个保证。但是atomic并不能保证线程安全,所以为了运行速度和用户体验,一般用nonatomic,系统默认atomic。

What's the difference between the atomic and nonatomic attributes?




3、怎么让UITextField在弹出键盘时向上移动?

比如一些填写信息的页面,有些UITextField位置比较靠下,键盘弹出后会把它遮住,导致看不见输入的内容。

答:

通过监听键盘的状态移动UITextField所在的view。

How to make a UITextField move up when keyboard is present?




4、怎么检查iOS或者OS X设备的网络连接状态

答:

借助于开源框架tonymillion/Reachability

How to check for an active Internet connection on iOS or OSX?




5、performSelector: 方法将会因为不知道它的选择器而导致内存泄露

代码:

[Objective-C] 纯文本查看 复制代码
[_controller performSelector:NSSelectorFromString(@"someMethod")];


ARC编译器对上一行代码给出了一个警告:

[Objective-C] 纯文本查看 复制代码
"performSelector may cause a leak because its selector is unknown".


答:

利用IMP和函数指针方法配合解决。

performSelector may cause a leak because its selector is unknown




6、在Objective-C中怎么检查一个字符串中是否还有另外一个字符串?

答:

iOS8或OS X Yosemite之后:

[Objective-C] 纯文本查看 复制代码
- (BOOL)containsString:(NSString *)str NS_AVAILABLE(10_10, 8_0);


之前:

[Objective-C] 纯文本查看 复制代码
NSString *string = @"hello bla bla";
if ([string rangeOfString:@"bla"].location == NSNotFound) {
  NSLog(@"string does not contain bla");
} else {
  NSLog(@"string contains bla!");
}


How do I check if a string contains another string in Objective-C?




7、如何对一个包含自定义对象的可变数组进行排序?

答:

[Objective-C] 纯文本查看 复制代码
sortedArrayUsingComparator:


How to sort an NSMutableArray with custom objects in it?




8、用自动布局在tableView中给动态的cell布局和自适应高度

答:

1、添加约束

2、确定cell的唯一的标识符

3、使用row的估计高度(iOS8)

4、添加高度缓存(需要的话)

Using Auto Layout in UITableView for dynamic cell layouts & variable row heights




9、控制器之间的传值

答:

属性、代理、block...

Passing Data between View Controllers




10、怎么用windows设备开发iPhone软件?

注:这个问题七年了,至今未有答案被采纳。

How can I develop for iPhone using a Windows development machine?




11、怎么让tableView的cell选中时的高亮状态失效?

答:

[Objective-C] 纯文本查看 复制代码
cell.selectionStyle = UITableViewCellSelectionStyleNone;


How can I disable the UITableView selection highlighting?




12、怎么在iOS7上改变状态栏的颜色?

答:

1、在.plist文件里把UIViewControllerBasedStatusBarAppearance设为YES。

2、在viewDidLoad添加[self setNeedsStatusBarAppearanceUpdate] ..

3、在控制里添加如下代码:

[Objective-C] 纯文本查看 复制代码
- (UIStatusBarStyle)preferredStatusBarStyle
{ 
    return UIStatusBarStyleLightContent; 
}


How to change Status Bar text color in iOS 7




13、怎么改变iOS app的名字?

注:被采纳的答案是08年的,已不准确,可以点进去看详细答案。

How to change the name of an iOS app?




14、Xcode7报错“iOS发布证书丢失”

打包上传AppStore时报如下错误:

Failed to locate or generate matching signing assets

Xcode attempted to locate or generate matching signing assets and failed to do so because of the following issues.

Missing iOS Distribution signing identity for ... Xcode can request one for you.


答:

首先、下载安装WWDR中级证书,

其次、在钥匙链访问应用中选取系统钥匙串...

Xcode 7 error: “Missing iOS Distribution signing identity for …”




15、传输安全阻止明文HTTP

错误信息:

Transport security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.


答:

在工程info下面的配置里把Allow Arbitrary Loads设为YES。然后在Exception Domians下面添加要连接的主域名。

Transport Security has Blocked a cleartext HTTP




写到这里

写完了发现有些被采纳答案已经不适用于现在,但是里面一些讨论的内容,以及其他一些答案,还是很有价值,因此坚持把本文写完。




归纳者:KFAaron

都看到这里了,就把这篇资料推荐给您的好朋友吧,让他们也感受一下。

回帖是一种美德,也是对楼主发帖的尊重和支持。

*声明:敏捷大拇指是全球最大的Swift开发者社区、苹果粉丝家园、智能移动门户,所载内容仅限于传递更多最新信息,并不意味赞同其观点或证实其描述;内容仅供参考,并非绝对正确的建议。本站不对上述信息的真实性、合法性、完整性做出保证;转载请注明来源并加上本站链接,敏捷大拇指将保留所有法律权益。如有疑问或建议,邮件至marketing@swifthumb.com

*联系:微信公众平台:“swifthumb” / 腾讯微博:@swifthumb / 新浪微博:@swifthumb / 官方QQ一群:343549891(满) / 官方QQ二群:245285613 ,需要报上用户名才会被同意进群,请先注册敏捷大拇指

嗯,不错!期待更多好内容,支持一把:
支持敏捷大拇指,用支付宝支付10.24元 支持敏捷大拇指,用微信支付10.24元

评分

参与人数 1金钱 +10 贡献 +10 专家分 +10 收起 理由
Anewczs + 10 + 10 + 10 32个赞!专家给力!

查看全部评分

流量王 发表于 2016-7-18 21:17:08 | 显示全部楼层
OC的啊。。。。
我是90后 发表于 2016-7-20 16:41:11 | 显示全部楼层
好多可以在Swifthumb.com上找到解决方案啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

做任务,领红包。
我要发帖

分享扩散

都看到这里了,就把这资料推荐给您的好朋友吧,让他们也感受一下。
您的每一位朋友访问此永久链接后,您都将获得相应的金钱积分奖励
热门推荐

合作伙伴

Swift小苹果

  • 北京治世天下科技有限公司
  • ©2014-2016 敏捷大拇指
  • 京ICP备14029482号
  • Powered by Discuz! X3.1 Licensed
  • swifthumb Wechat Code
  •   
快速回复 返回顶部 返回列表