• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: cannot invoke 'substringToIndex' with an argument list of type '(Int)'
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cannot invoke 'substringToIndex' with an argument list of type '(Int)'


  • Subject: Re: cannot invoke 'substringToIndex' with an argument list of type '(Int)'
  • From: Roland King <email@hidden>
  • Date: Tue, 07 Jul 2015 15:22:31 +0800

The docs for NSString say that substringToIndex is declared like that. If you looked at the autocomplete when you typed it in you’d see it wants an Index, that’s a method on String. And no it’s not in the documentation but it is in the API diffs and autocomplete gets it right (for me at least) and Cmd Clicking takes me there too.

If you want to use an NSString method with the same name as a String one, cast to an NSString, ( s as NSString )

same with substringFromIndex

and NSURL is a fallible initializer so you can’t return it like that, you unwrap it, or throw, or test it or something.

Your last mail about NSURLs didn’t make any sense either by the way. You were using .rawValue() on things typed as Strings, Strings don’t have raw values, so I think that isn’t really your code.


> On 7 Jul 2015, at 15:02, Rick Mann <email@hidden> wrote:
>
> What? The docs say that substringToIndex is declared like this:
>
> 	func substringToIndex(_ to: Int) -> String
>
> So, why can't I call that here:
>
> extension
> NSURL
> {
>   func
>   normalizedURLByAppendingPathComponent(var inComponent : String)
>       -> NSURL
>   {
>       var s = self.absoluteString;
>       if s.hasSuffix("/")
>       {
>           s = s.substringToIndex(s.characters.count - 1)
>       }
>
>       if inComponent.hasPrefix("/")
>       {
>           inComponent = inComponent.substringFromIndex(1);
>       }
>
>       s = s.stringByAppendingString("/");
>       s = s.stringByAppendingString(inComponent);
>
>       let u = NSURL(string: s);
>       return u;
>   }
> }
>
>
> --
> Rick Mann
> email@hidden
>
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


  • Follow-Ups:
    • Re: cannot invoke 'substringToIndex' with an argument list of type '(Int)'
      • From: Quincey Morris <email@hidden>
References: 
 >cannot invoke 'substringToIndex' with an argument list of type '(Int)' (From: Rick Mann <email@hidden>)

  • Prev by Date: Re: Swift enums with raw values
  • Next by Date: Re: cannot invoke 'substringToIndex' with an argument list of type '(Int)'
  • Previous by thread: cannot invoke 'substringToIndex' with an argument list of type '(Int)'
  • Next by thread: Re: cannot invoke 'substringToIndex' with an argument list of type '(Int)'
  • Index(es):
    • Date
    • Thread