你怎么产值NSData在斯威夫特?是吗NSLog,print还是println?
看来我只能打印对象的地址,而不是它的实际内容.
谢谢
进场时,我UINavigationBar在应用程序中的标题出现了一个奇怪的问题interactivePopGestureRecognizer.我制作了一个演示应用来展示这个bug.
UINavigationController.FirstViewController 隐藏了导航栏,并且 interactivePopGestureRecognizer.enabled = NO;Second并且ThirdViewController可以看到导航栏并启用了popgesture.使用popgesture从第二个视图返回到第一个视图时会发生错误.如果您中途拉出第二个视图然后返回第二个视图,导航标题将显示"第二个视图"(如预期的那样).但是当您转到第三个视图时,标题将不会更改为"第三个视图".然后单击第三个视图的后退按钮,导航栏将变得混乱.
请查看我的演示应用程序.任何帮助解释为什么会发生这个错误将不胜感激.谢谢!
我有一个集合视图,datasource委托工作得很好,但是UICollectionViewDelegate:
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"didselect");
}
Run Code Online (Sandbox Code Playgroud)
没有被调用,虽然我设置了委托(就像我使用数据源并且它工作)我不得不提到我的单元格从一个笔尖加载并连接到一个子类UICollectionViewCell,无论如何,单元格不响应我的触摸.我UIImageView在我的单元格中启用了用户交互.
还:
-(BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"this is caled");
return YES;
}
Run Code Online (Sandbox Code Playgroud)
没有被召唤!
正如我提到的,我确实设置了:
[self.collectionView setDelegate:self];
Run Code Online (Sandbox Code Playgroud)
而且当然
<UICollectionViewDelegate>
Run Code Online (Sandbox Code Playgroud)
我也没有任何touchBegan覆盖..
更新:
奇怪的!如果我长按,它只会被调用!我怎么能解决这个问题,我将delayedContentTouches设置为NO加上我没有实现任何手势识别器.
请帮忙.谢谢.
在这里,我正在使用IOS 7开发一个应用程序,其中相机用于捕获图像.但在捕获图像后,它会显示重拍/使用照片选项.我希望在捕获图像之后直接进入下一个屏幕而不显示默认重拍?使用照片选项.我谷歌这个问题,但我没有得到适当的解决方案.请帮我解决这个问题.
提前致谢.
这是我在项目中使用的代码片段

-(void)StartCamera
{
if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Device has no camera" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
[myAlertView show];
}
else
{
picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = NO;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker animated:YES completion:NULL];
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个NSTextAlignmentJustified用于的应用程序NSAttributedString.在iOS 6中,一切都很好.但是在iOS 7中运行的相同App (模拟器或设备没有任何区别)显示没有任何Justify.此外,从iOS 6到7,线条间距似乎发生了巨大变化.
其他人遇到过这个问题?有没有办法在iOS 7中制作合理的Textblock(在iOS 6中也能正常工作?)
此致,马库斯
据说该nonatomic选项将使您的setter方法运行得更快.我用谷歌搜索但无法理解.有人能告诉我为什么吗?
我有一个NSMutableArray oldArray.现在,在某一点上,这个NSMutableArray对象会被另一个对象更新,这个对象NSMutableArray可能具有比前一个更多,更少或相同数量的元素NSMutableArray.
我想比较旧数组和新数组的变化.我想有两个NSArray小号addedArray和removedArray其中将包含已添加和/或删除旧的数组中的元素的索引.
通过一个例子,整个问题将更加清晰:
oldArray = {@"a",@"b",@"d",@"e",@"g"};
newArray = {@"a",@"c",@"d",@"e",@"f",@"h"};
Run Code Online (Sandbox Code Playgroud)
因此,这里删除的对象分别是索引1和4处的@"b"和@"g".并且在索引1,4和5处添加的对象是@"c",@"f"和@"h"(删除第一个对象,然后添加).
因此,
removedArray = {1,4}; and addedArray = {1,4,5};
Run Code Online (Sandbox Code Playgroud)
我想要一种有效的方法来获得这两个数组 - removedArray以及addedArray来自旧的和新的NSMutableArray.谢谢!如果问题不是很容易理解,我愿意提供更多信息.
编辑1
如果我解释一下我想要用什么,也许会更清楚.
实际上我正在使用的是在加载tableview之后使用方法insertRowsAtIndexPaths和removeRowsAtIndexPaths动画更新UITableView ,以便用户可以看到删除的行熄灭并且新行进入.tableview存储用户可以使用的收藏夹元素添加或删除.添加一些收藏夹后删除一些; 当用户返回收藏夹表视图时,将显示动画.
编辑2
本来应该提到过这个,但是旧数组和新数组中的元素都是按升序排列的.只有删除或添加的指标才有意义.订单无法更改.恩.{@"b",@"a",@"c",@"d"}不能是数组.
我无法找到NSSecureCoding在Swift中符合协议的正确方法,特别是在解码作为其他对象数组的对象时.
我无法NSSet在swift中创建类类型.
在Objective-C中我会使用
self.books = [aDecoder decodeObjectOfClasses:[NSSet setWithObjects:[NSArray class], [Book class], nil] forKey:@"books"];
Run Code Online (Sandbox Code Playgroud)
在Swift我遇到了NSSet这样的问题:
self.books = aDecoder.decodeObjectOfClasses(NSSet().setByAddingObject(NSArray.self).setByAddingObject(Book.self), forKey:"books")
Run Code Online (Sandbox Code Playgroud)
这是错误:
Type 'NSArray.Type' does not conform to protocol 'AnyObject'
Run Code Online (Sandbox Code Playgroud) 对不起,如果这是一个愚蠢的问题,但它在过去的5天里一直在推动我的心理.
我正试图制作一个正则表达模式,以匹配爱尔兰汽车注册示例' 12-W-1234'到目前为止,这就是我所拥有的:
import java.util.ArrayList;
import java.util.List;
public class ValidateDemo {
public static void main(String[] args) {
List<String> input = new ArrayList<String>();
input.add("12-WW-1");
input.add("12-W-223");
input.add("02-WX-431");
input.add("98-zd-4134");
input.add("99-c-7465");
for (String car : input) {
if (car.matches("^(\\d{2}-?\\w*([KK|kk|ww|WW|c|C|ce|CE|cn|CN|cw|CW|d|D|dl|DL|g|G|ke|KE|ky|KY|l|L|ld|LD|lh|LH|lk|LK|lm|LM|ls|LS|mh|MH|mn|MN|mo|MO|oy|OY|so|SO|rn|RN|tn|TN|ts|TS|w|W|wd|WD|wh|WH|wx|WX])-?\\d{1,4})$")) {
System.out.println("Car Template " + car);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我检查那些在我的模式中有一个字母的 regs时,我的问题就出现了.例如'12-ZD-1234'.哪里ZD不是有效的县ID,但由于D它是有效的,因此可以显示它.
任何帮助都会很棒.
这些网站有所帮助,但我仍然遇到了问题.
通过,我将更改模式以将所有输入更改为大写以减少我的代码的大小.谢谢您的帮助
我UIScrollView在自定义类中使用了子类UIView.在该scrollview中,我添加了其他几个自定义对象(所有子类UIView也是如此),如下所示:
UITapGestureRecognizer *tap;
for (int count = 0; count < ColorSchemeCount; count++) {
//Check for next page first
[self managePageAdditions];
//Set up the scheme
ColorScheme *scheme = [[ColorScheme alloc]
initWithFrame:[self determineSchemeCircleFrameFromCount:pageCheck]
title:[self getColorSchemeTitleFromIndex:pageCheck]
colors:[self getColorSchemeFromIndex:pageCheck]];
scheme.tag = pageCheck;
tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(schemeTouchedAtIndex:)];
tap.cancelsTouchesInView = NO;
[scheme addGestureRecognizer:tap];
[self.scrollView addSubview:scheme];
//See if next pass requires a new page or not
if(pageCheck > 0) needsNextPage = (pageCheck % kSchemesPerPage == 0);
needsNextPage ? pageCheck …Run Code Online (Sandbox Code Playgroud) ios ×6
objective-c ×3
ios7 ×2
swift ×2
cocoa-touch ×1
iphone ×1
java ×1
nsarray ×1
photo ×1
regex ×1
uiscrollview ×1