2

私はObjective-Cが初めてです。私は VB.NET で数十のデスクトップ アプリケーションを開発し、Mac 用の REAL Stupid でさらに数十を開発しました。Objective-C 関数に関するハードカバーの本や PDF の本を何冊か読んだことがあります。彼らは、整数で関数を作成する方法についてのみ話します。整数を超えたい。たとえば、次の単純な VB.NET 関数には文字列が含まれており、true または false (ブール値) を返します。それは非常に単純で簡単です。

Function SayBoolean (ByVal w As String) As Boolean
If w = "hello" Then
    Return True
Else
    Return False
End if
End Function

次の関数は、文字列 (ファイル パス) を含む文字列 (ファイル拡張子) を返します。

Function xGetExt(ByVal f As String) As String
    'Getting the file extension    
    Dim fName1 As String = Path.GetFileName(f)
    Dim fName2 As String = Path.GetFileNameWithoutExtension(f)
    Dim s As String = Replace(Replace(fName1, fName2, ""), ".", "")
    Return s
End Function

では、Objective-C で関数を作成する際に、文字列パラメーターを指定してブール値または文字列を返すにはどうすればよいでしょうか。これまでのところ、Objective-C は私にとって非常に難しいものです。

ご協力ありがとうございました。

トム

4

1 に答える 1

2

例 1

//The return value is a boolean (BOOL)
- (BOOL)sayBoolean:(NSString*)w //w is the string parameter
{
    //Use isEqualToString: to compare strings
    return [w isEqualToString:@"hello"]; 
}

例 2

//The return value is a string
- (NSString*)xGetExt:(NSString*)f
{
   //pathExtension exists as an NSString method in a category
   // and returns a string already.
   return [f pathExtension]; 
}

なぜNSStringの比較を理解する必要があるのかisEqualToString:

于 2012-11-14T18:07:49.423 に答える