我必须检测字符串是否包含任何特殊字符.我怎么检查呢?Swift是否支持正则表达式?
var characterSet:NSCharacterSet = NSCharacterSet(charactersInString: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ0123456789")
if (searchTerm!.rangeOfCharacterFromSet(characterSet).location == NSNotFound){
    println("Could not handle special characters")
}
Run Code Online (Sandbox Code Playgroud)
我尝试了上面的代码,但只有当我输入第一个字符作为特殊字符时它才匹配.
我正在使用故事板创建导航栏.
我的要求是隐藏状态栏并增加导航栏的高度.当我隐藏状态栏时,导航栏会粘到顶部,高度为44像素.我需要导航栏高度为64像素(44像素+状态栏高度).有没有办法做到这一点?
带状态栏
没有状态栏

我使用Restkit从服务器映射Json数据,我通过从db获取来显示这些数据.我的视图中有一个刷新按钮,它再次执行上述操作.
场景:我有两个表Key和Profile,它们有一对一的关系.我使用以下代码从DB获取数据
NSFetchRequest *fetchRequest = [Key fetchRequest];
[fetchRequest setRelationshipKeyPathsForPrefetching:[NSArray arrayWithObject:@"Profile"]];
[fetchRequest setIncludesSubentities:YES];
NSArray *sortedObjects = [Key executeFetchRequest:fetchRequest]; 
Run Code Online (Sandbox Code Playgroud)
上面的数组返回DB中的所有对象.但是当我检查使用断点时,我得到了一些核心数据错误,这是没有显示所有数据的原因.
// sortedObjects中的所有数据都是这样的.
<Key: 0x889f2f0> (entity: Key; id: 0x889e400 <x-coredata://981A476D-55AC-4CB4-BBD8-E0285E522412/Key/p1489> ; data: <fault>)
Run Code Online (Sandbox Code Playgroud)
任何的想法
我在Apple的技术说明(QNo:15)的FAQ中找到了上述问题.他们给出了这样的答案:
在沙箱中 测试您的应用程序时以及在审核您的应用程序时,请使用沙箱URL https://sandbox.itunes.apple.com/verifyReceipt.
一旦您的应用程序在App Store中存在,请使用生产URL http://buy.itunes.apple.com/verifyReceipt.
但是在应用程序内购买编程指南(使用App Store部分验证收据).Apple提供了这样的网址:
使用HTTP POST请求将JSON对象发布到App Store.商店的URL是https://buy.itunes.apple.com/verifyReceipt.
请注意,第一个网址正在使用http作为真实帐户来验证应用内购买,而第二个网址正在使用https.我应该使用哪一个?我的应用程序被拒绝是因为服务器没有得到正确的响应,当它向Apple发送收据时.我使用https://buy.itunes.apple.com/verifyReceipt验证收据.
我有执行查询的网址.
https://<BASE_URL>/<TENANT_URL>/?query=where UserName='abc'&companyId=&page=1&pageSize=25&filterResultByColumns=true
Run Code Online (Sandbox Code Playgroud)
在租客网址之后,我正在逃避剩下的部分,
 NSString *requestUrl = [[NSString stringWithFormat:@"%@/?query=where UserName='%@'&companyId=&page=1&pageSize=25&filterResultByColumns=true",<TENANT_URL>,userCredential.userName]stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    requestUrl = [NSString stringWithFormat:@"%@/%@",baseurl,requestUrl];
Run Code Online (Sandbox Code Playgroud)
这是我的GET请求.
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
        AFHTTPResponseSerializer *serializer = [AFHTTPResponseSerializer serializer];
            serializer.acceptableContentTypes = [NSSet setWithObject:@"application/json"];
        manager.responseSerializer = serializer;
        manager.requestSerializer = [AFJSONRequestSerializer serializer];
    NSString *path = [NSString stringWithFormat:@"%@",URL];
    [manager GET:path parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
                    NSError* error = nil;
                    NSArray* json = [NSJSONSerialization
                                          JSONObjectWithData:responseObject
                                          options:kNilOptions 
                                          error:&error];
                    success(json);
                }
                     failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                         failure(error);
                     }];
Run Code Online (Sandbox Code Playgroud)
但我总是收到400 Bad request错误.我认为问题在于"query = where ..".但我不确定.我该如何解析URL.我在Chrome中使用"POSTMAN"进行了测试.它完美地运作.但是当我运行应用程序时它会引发错误.
错误:
Error Domain=AFNetworkingErrorDomain Code=-1011 "Request …Run Code Online (Sandbox Code Playgroud) 给出样本模式,
input :    16
output:    16 11 6 1 -4 1 6 11 16
Run Code Online (Sandbox Code Playgroud)
如果输入为10,则程序应将输出打印为
10 5 0 5 10
Run Code Online (Sandbox Code Playgroud)
注意:上述序列递减/递增5.
挑战是不要声明任何变量或循环.仅使用递归.
我尝试过以下代码.
void sequence(int input, int base){
    input = input - (input > 0?5:-5); //main execution
    printf("input:%d\n",input);
    if(input == base)return;
    sequence(input,base);
}
Run Code Online (Sandbox Code Playgroud)
//例如.输入和基数(初始值)为16.上述方法递归直到input = base.
我可以打印到这个序列(粗体)
16 11 6 1 -4 1 6 11 16
如何完成序列.在上述方法中,在主执行行中,我需要检查条件input = input - (input < 0?5:-5);以打印剩余序列.但我不知道如何在没有任何变量或循环的情况下做到这一点.有没有可用的算法或任何其他更好的解决方案.
我如何为NSmanagedObject类创建一个实例,我使用核心数据模型创建.我有另一个类,它是NSObject的子类.我想为NSManageObject类创建一个对象.我怎样才能做到这一点.这是我们为NSobject类创建实例的正常方式
ClassB.m // ClassB是NSObject类
ClassA *obj = [[ClassA alloc]init]; //ClassA is NSmanagedObject Class
Run Code Online (Sandbox Code Playgroud)
还是有办法做到这一点???
我没有使用此代码(Apple Docs)来创建实例
NSManagedObject *newEmployee = [[NSManagedObject alloc]
            initWithEntity:employeeEntity
            insertIntoManagedObjectContext:context];
Run Code Online (Sandbox Code Playgroud)
我想知道,有没有办法使用restkit创建一个类似于上面代码的对象
注意:我使用Restkit来创建对象实例和映射.
谢谢
如何将此日期转换为 NSDate
datestring = /Date(147410000000)/   //String from server response        
Run Code Online (Sandbox Code Playgroud)
预期产出:
12/01/2014
Run Code Online (Sandbox Code Playgroud)
我试过这个.但我没有.
let dateFormatter:NSDateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
let date = dateFormatter.dateFromString(datestring)
return date
Run Code Online (Sandbox Code Playgroud) 我有一个包含字符串的数组,即数组
我尝试连接字符串,但收到错误“字符串与 UInt8 不同”
var titleString:String! = ""
 for title in array {
        titleString += "\(title)"
 }
Run Code Online (Sandbox Code Playgroud) 我试图获取我所设置的日期Date,但它比实际日期减少了一天.
let calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)
let dateComponents = calendar!.components([.Year , .Month , .Weekday, .Day], fromDate: NSDate())
dateComponents.year = 2015
dateComponents.month = 9
dateComponents.day = 1
Run Code Online (Sandbox Code Playgroud)
po calendar!.dateFromComponents(dateComponents)
? Optional(2015-08-31 18:30:00 +0000)
  - Some : 2015-08-31 18:30:00 +0000
Run Code Online (Sandbox Code Playgroud)