刚开始使用ARC.在ARC之前,我只是简单地宣布我的网点为例:IBOutlet UIButton *button;所以我不保留它或任何东西.使用ARC,不指定弱或强意味着强大.
所以,如果我在ARC(即IBOutlet UIButton *button;)下做同样的事情,这是否意味着按钮是一个强大的参考?或者我是否必须将其定义为弱?
简而言之,IBOutlet是否意味着 __weak?
我有一个界面:
#import <Foundation/Foundation.h>
@interface Picture : NSObject;
@property (readonly) NSString *filepath;
- (UIImage *)image;
@end
Run Code Online (Sandbox Code Playgroud)
和实施:
#import "Picture.h"
#define kFilepath @"filepath"
@interface Picture () <NSCoding> {
NSString *filepath;
}
@end
@implementation Picture
@synthesize filepath;
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
return self;
}
- (void)encodeWithCoder:(NSCoder *)aCoder {
[aCoder encodeObject:filepath forKey:kFilepath];
}
- (UIImage *)image {
return [UIImage imageWithContentsOfFile:filepath];
}
@end
Run Code Online (Sandbox Code Playgroud)
我收到错误:ARC问题 - 'NSObject'没有可见的@interface声明选择器'initWithCoder:'
使用ARC时,NSCoding有什么不同吗?谢谢
我非常喜欢Objective-C中的新文字.我想知道如果有新的增加,有一个更好的方法来比较数字.
例如,如果我想比较a和b:
a = @1;
b = @2;
Run Code Online (Sandbox Code Playgroud)
这是比较它们的唯一方法:
[a intValue] > [b intValue]
Run Code Online (Sandbox Code Playgroud)
还是有更好,更优雅的解决方案?
这是我的gitignore文件:
# Xcode
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
*.xcuserstate
project.xcworkspace/
xcuserdata/
Run Code Online (Sandbox Code Playgroud)
但是,它仍会检测到更改:
BW.xcodeproj/project.xcworkspace/xcuserdata/cooluser.xcuserdatad/UserInterfaceState.xcuserstate
Run Code Online (Sandbox Code Playgroud)
这是在XCode 6上.
我究竟做错了什么?
谢谢!
我有一个UITextView,它顶部有一个奇怪的边缘,不知道是什么造成了这个.这是图片,背景为橙色:

这是我的相关代码:
textViewTest = [[UITextView alloc] initWithFrame:CGRectMake(135, 0, 150, 68)];
[textViewTest setContentInset:UIEdgeInsetsZero];
[textViewTest setUserInteractionEnabled:NO];
[textViewTest setBackgroundColor:[UIColor orangeColor]];
[textViewTest setTextColor:[UIColor whiteColor]];
//[textViewTest setFont:[UIFont fontWithName:@"MuseoSans-500" size:12.0]];
[textViewTest setText:@"Spooky (rename)\nCreated: 4/10/11\nUpload Youtube\nDelete | Favorite"];
Run Code Online (Sandbox Code Playgroud)
我想要的是UITextView(textViewTest)中的文本从顶部(边距)没有任何空格.目前,从橙色的顶部开始有8-10像素,然后文本开始.
我在UITableView中删除了一些行,如下所示:
[tableView deleteRowsAtIndexPaths:toDelete withRowAnimation:UITableViewRowAnimationAutomatic];
Run Code Online (Sandbox Code Playgroud)
这为删除操作添加了一个漂亮的动画.
但是,删除后我需要更新所有当前可见的行.调用
[tableView reloadData];
Run Code Online (Sandbox Code Playgroud)
在第一次调用工作之后,但很好的动画效果消失了.有什么更好的方法呢?即,为删除操作设置动画,并更新所有当前可见的行?谢谢!
我需要这样做的原因是因为每个单元格都包含一个"复选框".我的视图控制器是复选框的委托,每个复选框都有一个与之关联的NSIndexPath.当切换复选框时,会调用委托告诉它我们切换为x索引路径.现在,如果删除某些行,则需要更新索引路径.这就是为什么我需要重新加载所有内容,以便每个复选框知道它所属的位置.
我有两种方法可以做到这一点.
首先是使用:locals => {....}和其他是使用@var_name.我只是想知道哪一个更好/更喜欢?我无法在任何地方找到答案.
谢谢
我正在使用从http://dev.mysql.com/doc/refman/5.5/en/mysql.html下载的 mysql 命令行工具- 我已启用远程连接到 SQL Server,但无法使用它连接到它。我只是想知道是否是因为mysql客户端与SQL Server不兼容?如果不是,是否有可以在 OS X 或 ubuntu 上使用的客户端?
部署我的第一个Web应用程序.我一直在使用薄,简单易用.我只需要一个配置文件.
但是很多人使用nginx并在后面放置了一些瘦实例.为什么?为什么不单独使用瘦身?为什么使用nginx而不是在一个瘦实例后面放置3个瘦实例?谢谢
假设我有一个ActiveRecord :: Base子类User和表users,我不知道如何在ActiveRecord中编写此查询:
SELECT *
FROM (
SELECT users.*
FROM follows
INNER JOIN users ON users.id = follows.following_id
WHERE username LIKE 'r%' AND follows.follower_id = 5717
LIMIT 10
UNION
SELECT *
FROM users
WHERE username LIKE 'r%'
LIMIT 10
) AS users
LIMIT 10
Run Code Online (Sandbox Code Playgroud)
我从自定义生成的表中进行选择.我怎么会开始写这个查询?这甚至可能吗?如果是这样,如果没有,我的替代方案是什么?
谢谢!
ios ×5
objective-c ×5
cocoa-touch ×4
ruby ×3
mysql ×2
activerecord ×1
comparison ×1
git ×1
nginx ×1
nscoding ×1
sinatra ×1
sql-server ×1
thin ×1
uitableview ×1
uitextview ×1
xcode ×1