小编NNi*_*ikN的帖子

将NSString转换为char数组

const char arr[]="Hello There";
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个如上所述的字符数组.

下面是我使用的代码.这是创建char数组的正确方法吗?

-(void) createCharArray:(NSString*) text{
   char arr[text.length];
   for(int i=0;i<text.length;i++){
    arr[i]=[text characterAtIndex:i];
   }
}
Run Code Online (Sandbox Code Playgroud)

我们是否要担心空终止?我们还有其他方法可以实现同样的目标吗?

arrays objective-c char ios

17
推荐指数
1
解决办法
3万
查看次数

HTTPServletRequest getParameterMap()vs getParameterNames

HTTPServletRequestreq,有一个方法,getParameterMap()但是,对于post数据,值返回a String[]而不是String

名称=结婚&lastName的=约翰&年龄= 20.

我在post数据中看到它不是一个数组,但是getParameterMap()为每个键(name或lastName或Age)返回数组.有没有更好地理解这一点的指示?

方法2中提供了代码.方法1完全正常.

方法1:

Enumeration<String> parameterNames = req.getParameterNames();

while (parameterNames.hasMoreElements()) {
    String key = (String) parameterNames.nextElement();
    String val = req.getParameter(key);
    System.out.println("A= <" + key + "> Value<" + val + ">");
}
Run Code Online (Sandbox Code Playgroud)

方法2:

Map<String, Object> allMap = req.getParameterMap();

for (String key : allMap.keySet()) {
    String[] strArr = (String[]) allMap.get(key);
    for (String val : strArr) {
        System.out.println("Str Array= " + val);
    }
}
Run Code Online (Sandbox Code Playgroud)

servlets http-request-parameters

12
推荐指数
1
解决办法
2万
查看次数

UISearchController - 警告尝试加载视图控制器的视图

我收到以下错误.

尝试在取消分配时加载视图控制器的视图是不允许的,并且可能导致未定义的行为()

尝试了以下解决方案,但对我不起作用尝试在取消分配时加载视图控制器的视图... UISearchController

该链接提供了一个演示项目.

  1. 点击主控制器中的添加按钮,添加几个时间戳.
  2. 在主视图控制器的行之间切换,您将看到上述错误.

代码如下所示,可以从短下载的时间.

import UIKit

class DetailViewController: UIViewController,UITableViewDataSource,UITableViewDelegate,UISearchResultsUpdating,UISearchBarDelegate {

    @IBOutlet weak var basicTable: UITableView!        
    var tblSearchController:UISearchController!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.    
        self.tblSearchController = UISearchController(searchResultsController: nil)
        self.basicTable.tableHeaderView=self.tblSearchController.searchBar
//      self.tblSearchController.edgesForExtendedLayout = (UIRectEdge.Top )
//      self.tblSearchController.extendedLayoutIncludesOpaqueBars = true
        self.tblSearchController.searchResultsUpdater = self
        self.tblSearchController.searchBar.delegate = self
        self.tblSearchController.searchBar.sizeToFit()
//      self.tblSearchController.searchBar.frame=CGRectMake(0, 0, self.basicTable.frame.size.width, 44.0)
        self.tblSearchController.hidesNavigationBarDuringPresentation=true
        self.tblSearchController.dimsBackgroundDuringPresentation=true
        self.definesPresentationContext=true
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of …
Run Code Online (Sandbox Code Playgroud)

ios swift uisearchcontroller

11
推荐指数
2
解决办法
5504
查看次数

条件绑定的初始化程序必须具有可选类型,而不是'AnyObject - Approach

以下代码抛出一条消息,指出"条件绑定的初始化程序必须具有可选类型,而不是'AnyObject'"

    func parseData2(){
        var data:NSData?


        if let data2 = data  {
            do {
                let details = try NSJSONSerialization.JSONObjectWithData(data2, options: .AllowFragments)

                if let actualDetails = details where actualDetails.isKindOfClass(NSDictionary) {
                    print("Parse Data")
                }

            }catch {
                print("Error \(error)")
            }
        }

    }
Run Code Online (Sandbox Code Playgroud)

为解决上述错误,我使用了以下代码.

    func parseData2(){
        var data:NSData?


        if let data2 = data  {
            do {
                let details:AnyObject = try NSJSONSerialization.JSONObjectWithData(data2, options: .AllowFragments)

                if let actualDetails:AnyObject = details where actualDetails.isKindOfClass(NSDictionary) {
                    print("Parse Data")
                }

            }catch {
                print("Error \(error)")
            }
        }

    }
Run Code Online (Sandbox Code Playgroud)

有没有比上面更好的方法或我的代码可能会崩溃?

考虑到nil check …

let ios swift

10
推荐指数
1
解决办法
1万
查看次数

找不到属性字符串iOS Xcode的系统粗体字体

我的App.在很多地方我都使用过System Bold Font,它已经成为我应用程序的标准配置.

如果我使用Attributed String默认显示的字体是"Helvetica Neue".在所有字体中,我搜索了系统粗体字体,但找不到它.

那么,在使用归属字符串时如何设置系统粗体字体?

在此输入图像描述

nsattributedstring ios xcode5

9
推荐指数
1
解决办法
5853
查看次数

NSDictionary不区分大小写的objectForKey:

NSDictionary有objectForKey,但它是密钥的大小写.有没有提供类似的功能

- (id)objectForKey:(id)aKey options:(id) options;
Run Code Online (Sandbox Code Playgroud)

您可以在选项中传递"NSCaseInsensitiveSearch"

要从NSDictionary中获取密钥,这是一个案例不可能,可以使用下面编写的代码.

objective-c nsdictionary case-insensitive key-value ios

8
推荐指数
2
解决办法
6312
查看次数

OSStatus NSOSStatusErrorDomain

当我使用该属性时,我收到以下错误

AudioSessionGetProperty(kAudioSessionProperty_CurrentHardwareSampleRate,&size,
                                      &myAudioDescription.mSampleRate)
Run Code Online (Sandbox Code Playgroud)

上述语句产生的错误是

Error Domain=NSOSStatusErrorDomain Code=560557673 "The operation couldn’t be completed. (OSStatus error 560557673.)"
Run Code Online (Sandbox Code Playgroud)

现在,560557673是什么意思,我在哪里可以找到它的解释?

文档仅提供NSOSStatusErrorDomain作为错误之一.

objective-c core-audio ios avaudiosession

7
推荐指数
1
解决办法
7884
查看次数

Facebook ios6 completionHandler在登录后未被调用

我试图使用openActiveSessionWithPublishPermissions在Facebook上发布 ,所以如果用户没有登录,他需要首先登录然后使用io6 Facebook本地对话框发布消息.

我发现的是我能够登录,但不会调用完成处理程序.

我注意到的另一件事是,当我再次单击登录按钮时,它会调用完成处理程序,并显示以下错误FBSessionStateClosedLoginFailed.

我确实参考了这篇文章,但仍未找到解决我问题的方法.

NSArray *permissions = [NSArray arrayWithObjects:@"publish_stream", nil];
[FBSession openActiveSessionWithPublishPermissions:permissions defaultAudience:FBSessionDefaultAudienceEveryone allowLoginUI:YES completionHandler:
^(FBSession *session, FBSessionState status, NSError *error) 
{

  switch (status) {

                  case FBSessionStateOpen:
                        {
                          [FBNativeDialogs presentShareDialogModallyFrom:currentController initialText:nil image:nil url:nil handler:^(FBNativeDialogResult result, NSError *error) {}];
                        }
                        break;   
                   default:
                        break;
                    }
                }];
Run Code Online (Sandbox Code Playgroud)

xcode facebook ios-frameworks ios6

6
推荐指数
2
解决办法
2311
查看次数

在Swift中将对象设置为清空NSDictionary

我可以创建一个NSDictionary

    var namesDictionary=Dictionary<String,String>()
    namesDictionary["Jacob"] = "Marry"
Run Code Online (Sandbox Code Playgroud)

但是,当我创建一个像下面编码的空字典时,第1行我没问题,但第2行(添加值)会引发错误.

    var namesDictionary =[:]
    namesDictionary["Jacob"] = "Marry"
Run Code Online (Sandbox Code Playgroud)

错误是"无法分配给此表达式的结果".有没有其他方法来分配值.

nsdictionary ios swift xcode6

6
推荐指数
1
解决办法
2万
查看次数

本地化字符串文件在Xcode 5中不能与xib一起使用

我有以下文件结构用于本地化.

A.xib

- > A.xib(基础)

- > A.strings(西班牙语)

- > A.strings(英文)

因为它是"使用基础国际化".我们可以期望只有一个xib文件和本地化所需的字符串文件.

但是,当我将此字符串文件转换为.xib时(我们的每种语言都有.xib文件.在Base Internationalization之前就是这种情况).事情开始在iOS模拟器上工作,设备响应这些变化.

注意: - 我还尝试重置模拟器,清理并创建构建但没有成功.

当我使用.strings文件进行本地化时,不知道为什么本地化失败了.

任何帮助,一个小错误在Xcode IDE上消耗更多时间和耗费开发时间.

localization xib localizable.strings xcode5

5
推荐指数
1
解决办法
1114
查看次数